使用位置名称标记/标记谷歌地图中的位置

时间:2010-10-19 15:13:48

标签: php google-maps google-maps-api-3

是否可以使用位置名称动态标记谷歌地图中的位置。 客户端将通过rss feed向我们提供位置名称。我们将使用php脚本获取该位置(这不用担心),然后想在谷歌地图中标记它们。

如果我们得到了地址:Weston Town Recreation Department 20 Alphabet Ln,Weston,MA(781)那么我们必须在googel地图中标记它

我不太了解如何发布或标记此内容并在网页中动态显示,因为我是这个谷歌地图的新手

请在这个问题上指导我..

我还想在弹出窗口中添加一些细节,当鼠标悬停在谷歌地图上的标记时 - 请为此建议解决方案

1 个答案:

答案 0 :(得分:3)

您需要Geocode您的地址,然后使用results[idx].geometry.location设置标记。 (谷歌地图地理编码页面有an example,可以帮助您入门。)


此处添加了Google代码,以防它发生变化/不再存在。

var geocoder, map;
function initialize() {
  geocoder = new google.maps.Geocoder();
  var latlng = new google.maps.LatLng(-34.397, 150.644);
  var myOptions = {
    zoom: 8,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}

function codeAddress() {
  var address = document.getElementById("address").value;
  geocoder.geocode( { 'address': address}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      map.setCenter(results[0].geometry.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);
    }
  });
}

<body onload="initialize()">
 <div id="map_canvas" style="width: 320px; height: 480px;"></div>
  <div>
    <input id="address" type="textbox" value="Sydney, NSW">
    <input type="button" value="Encode" onclick="codeAddress()">
  </div>
</body>