我正试图从一对lat和lng中获得地址。我正在做
new google.maps.Geocoder().geocode({ 'latLng': latLng}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
//code to get details from address_components
}
});
工作正常。但是如果我改变浏览器语言,地址组件就会在选定的语言环境中出现。我不想那样。我只需要英文地址。我使用下面的代码来实现这一点。但这行不通。我只得到所选语言的地址。
new google.maps.Geocoder().geocode({ 'latLng': latLng, 'language' :'en'}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
}
});
请告诉我我在这遗漏了什么?
我以前试过,我认为你所需要的就是将language
添加到谷歌地图的<script>
标签中:
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=false&libraries=places&language=en-US"></script>
遵循这个答案,我想它会对你有所帮助。在调用geocode
函数之前,先更改语言。然后,把它改回默认值:
function loadScript(lang) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&' +
'callback=initialize';
if (lang) {
script.src += '&language=' + lang;
}
script.id = "google-maps-script";
document.body.appendChild(script);
}