google.maps.places.Autocomplete 语言输出
Posted
技术标签:
【中文标题】google.maps.places.Autocomplete 语言输出【英文标题】:google.maps.places.Autocomplete language output 【发布时间】:2015-03-23 16:26:29 【问题描述】:我正在使用 google.maps.places.Autocomplete 对象并且总是以乌克兰语获得结果。
我正在加载这样的库
http://maps.google.com/maps/api/js?sensor=true&libraries=places&language=ru-RU
如何将参数传递给自动完成语言?
var autocomplete = new google.maps.places.Autocomplete($("#google_places_ac")[0], );
google.maps.event.addListener(autocomplete, 'place_changed', function()
var place = autocomplete.getPlace();
$scope.location = place.formatted_address;
// at that point $scope.location is in ukrainen, but I want Russian
$scope.$apply();
);
我添加了图片来解释问题。带有红色方块的文字 - 是俄语,带有绿色的文字 - 是乌克兰。如您所见,同一张地图上有两种不同的语言。也可以用俄语输入,用乌克兰语格式化语言。我相信这是谷歌地图的一个错误。s
【问题讨论】:
【参考方案1】:根据文档
“API 检测用户的浏览器设置并适当设置语言。可以覆盖 API 中的语言。”
这意味着,输入将根据浏览器上的用户语言而改变
试试脚本标签。
<script src="http://maps.googleapis.com/maps/api/js?libraries=places&sensor=false&language=yourLanguage"></script>
看看这list的语言
编辑:
尝试在语言参数上设置此项
language=ru-RU
【讨论】:
我的兄弟语言是英语。当我得到一个乌克兰语结果时,所有下一个结果也是乌克兰语。 嗯,这是一个奇怪的问题,在其他浏览器上测试它,目前我正在用俄语测试代码(我不懂任何墨西哥语),它的工作就像一个魅力,所以我猜是浏览器问题,不是代码问题 嗨@user1315599,您找到解决方案了吗? 没有。我注意到这种奇怪的行为可能是因为错误地使用了 Autocomplete 对象。当我开始在输入字段中输入地址,然后按下一个建议的位置时,紧接着这个建议的位置代替了我输入的俄语文本,这很好,也是我需要的。但在 google.maps.event 监听器中,autocomplete.getPlace().formatted_location 返回相同的物理地址,但使用乌克兰语。当然,我可以使用 Jquery 直接从这个输入中获取文本,这对我来说也很好。 但是现在我遇到了另一个问题,如何从该位置获取确切的城市,因为城市可以在该字符串和组件数组中的任何位置【参考方案2】:您是否尝试过 language=ru 而不是 language=ru-RU? 这对我有用。例如,您可以使用任何支持的语言向 Autocomplete 输入地址,但 autocomplete.getPlace() 将返回参数中的语言结果,并且在俄语的情况下只有 ru 有效。
查看语言表:https://developers.google.com/maps/faq#languagesupport
没有ru-RU,只有ru。
【讨论】:
以上是关于google.maps.places.Autocomplete 语言输出的主要内容,如果未能解决你的问题,请参考以下文章