提问者:小点点

将Google地图居中到位置字符串[重复]


使用Google Maps API,我想将地图居中为字符串而不是Lat/Lng

var mapOptions = {
    center: "Paris"
};

共1个答案

匿名用户

您可以使用地理编码器。

工作代码段:

var geocoder;
var map;

function initialize() {

  geocoder = new google.maps.Geocoder();

  var latlng = new google.maps.LatLng(0, 0);
  var mapOptions = {
    zoom: 8,
    center: latlng
  };

  map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);

  // Call the codeAddress function (once) when the map is idle (ready)
  google.maps.event.addListenerOnce(map, 'idle', codeAddress);
}

function codeAddress() {

  // Define address to center map to
  var address = 'Paris, France';

  geocoder.geocode({
    'address': address
  }, function(results, status) {

    if (status == google.maps.GeocoderStatus.OK) {

      // Center map on location
      map.setCenter(results[0].geometry.location);

      // Add marker on location
      var marker = new google.maps.Marker({
        map: map,
        position: results[0].geometry.location
      });

    } else {

      alert("Geocode was not successful for the following reason: " + status);
    }
  });
}

initialize();
#map-canvas {
  height: 180px;
}
<div id="map-canvas"></div>
<script src="//maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk"></script>