我想知道是否可以使用https://www.google.lk/maps/place/London之类的地方网址而不是使用经纬度坐标在Google地图中创建标记。我正在使用以下代码创建标记。

function initialize() {
  var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
  var mapOptions = {
    zoom: 4,
    center: myLatlng
  }
  var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

  var marker = new google.maps.Marker({
      position: myLatlng,
      map: map,
      title: 'Hello World!'
  });
}

google.maps.event.addDomListener(window, 'load', initialize);

最佳答案

为此,您可以利用Places Library,特别是textSearch对象的google.maps.places.PlacesService方法。

完整的例子



function initialize() {
    var mapOptions = {
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        zoom: 15
    }
    var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);



    var request = {
        query: 'London'
    };

    var service = new google.maps.places.PlacesService(map);
    service.textSearch(request, callback);


    function callback(results, status) {
      if (status == google.maps.places.PlacesServiceStatus.OK) {
         var marker = new google.maps.Marker({
            map: map,
            place: {
              placeId: results[0].place_id,
              location: results[0].geometry.location
            }
         });

         map.setCenter(results[0].geometry.location);
      }
    }
}
google.maps.event.addDomListener(window, 'load', initialize);

 html, body, #map-canvas {
     height: 100%;
     margin: 0px;
     padding: 0px;
 }

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true&libraries=places"></script>
<div id="map-canvas"></div>

07-28 03:42
查看更多