在Google Maps API v3中按名称居中国家/地区

时间:2010-12-10 11:34:03

标签: javascript google-maps

有人会告诉我如何在Google Maps API v3上按名称居中吗?我知道如何在v2中完成它,但需要在v3中完成。

3 个答案:

答案 0 :(得分:47)

您可以使用地理编码来查找国家/地区的Lat / Lng。请查看来自Google的sample

基本上你需要做这样的事情:

var country = "Germany";
var geocoder;

geocoder.geocode( {'address' : country}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
        map.setCenter(results[0].geometry.location);
    }
});

在初始化函数中,您需要设置地理编码器对象的值,如下所示:

geocoder = new google.maps.Geocoder();

您需要锻炼适当的缩放级别,然后在将地图居中后设置。

答案 1 :(得分:1)

此代码适用于我:

      let geocoder = new google.maps.Geocoder();
      let location = "England";
      geocoder.geocode({ 'address': location }, function(results, status){
          if (status == google.maps.GeocoderStatus.OK) {
              map.setCenter(results[0].geometry.location);
          } else {
              alert("Could not find location: " + location);
          }
      });

答案 2 :(得分:0)

我知道如何做的唯一方法是拥有一个国家列表及其各自的Lat和Lng,知道的信息可以使用以下代码。

var myLatlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
  zoom: 8,
  center: myLatlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP
};

var map = new google.maps.Map(document.getElementById("map_canvas"),
    myOptions);

出于好奇,你会在v2中做到这一点吗?