Center Google 映射到位置字符串

Center Google Maps to location string

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

var mapOptions = {
    center: "Paris"
};

您可以使用 geocoder.

工作代码片段:

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>

JSFiddle demo

编辑: 当然,您可以像这样对完整地址进行地理编码:

// Define address to center map to
var address = 'Rue Casse-Cul, Montboucher-sur-Jabron, France';