从谷歌地图api v3获取英文地址

时间:2012-05-04 01:26:02

标签: google-maps localization

我使用谷歌地图api v3从一个点获取坐标和地址,但google返回地址用法语。在这里我用来获取地址的脚本,如何强制谷歌地图以英文返回结果。

 var map;
    var geocoder;
          var mapOptions = { center: new google.maps.LatLng(0.0, 0.0), zoom: 2,
            mapTypeId: google.maps.MapTypeId.ROADMAP };

  function initialize() {
        var myOptions = {
            center: new google.maps.LatLng(36.835769, 10.247693 ),
            zoom: 15,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };

    geocoder = new google.maps.Geocoder();
    var map = new google.maps.Map(document.getElementById("map_canvas"),
    myOptions);
    google.maps.event.addListener(map, 'click', function(event) {
        placeMarker(event.latLng);
    });

    var marker;
    function placeMarker(location) {
        if(marker){ //on vérifie si le marqueur existe
            marker.setPosition(location); //on change sa position
        }else{
            marker = new google.maps.Marker({ //on créé le marqueur
                position: location, 
                map: map
            });
        }
        document.getElementById('lat').value=location.lat();
        document.getElementById('lng').value=location.lng();
        getAddress(location);
    }

  function getAddress(latLng) {
    geocoder.geocode( {'latLng': latLng},
      function(results, status) {
        if(status == google.maps.GeocoderStatus.OK) {
          if(results[0]) {
            document.getElementById("address").value = results[0].formatted_address;
          }
          else {
            document.getElementById("address").value = "No results";
          }
        }
        else {
          document.getElementById("address").value = status;
        }
      });
    }
  }

1 个答案:

答案 0 :(得分:6)

根据documentation,您可以通过添加language参数来更改地图API的呈现语言,如下所示:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false&language=ja">

或者,根据this answer,您可以使用google.load命令更改使用的服务,如下所示:

<script type="text/javascript">
 google.load("maps", "2",{language: "de",base_domain: 'google.de'});
 ...
</script>

(来自链接问题的代码)。以下是google.load documentation的链接。我在想改变base_domain会达到预期的效果,但我还没有测试过。