谷歌地图信息窗口

时间:2011-05-20 23:23:09

标签: javascript xml

我正在使用谷歌地图显示带信息窗口的标记。其中我显示地址但我想在点击标记时在信息窗口中显示名称。任何帮助将受到高度赞赏。

功能负载()    {    var map = new GMap2(document.getElementById(“map”));
       map.setCenter(new GLatLng(-37.816667,144.966667),10);        map.addControl(new GSmallMapControl());        map.addControl(new GMapTypeControl());

     var   geocoder = new GClientGeocoder();
     GDownloadUrl("shops.xml", function(data) {

         var   xml = GXml.parse(data);
      shop = xml.documentElement.getElementsByTagName("shop");
      for (var i = 0; i < shop.length; i++) {
      var name= shop[i].getElementsByTagName("name");
       name = name[0].childNodes[0].nodeValue;
      var address= shop[i].getElementsByTagName("address");
        address = address[0].childNodes[0].nodeValue;
        geocoder.getLocations(address, addToMap);}

          });  }

function addToMap(response)    {       place = response.Placemark [0];       point = new GLatLng(place.Point.coordinates [1],place.Point.coordinates [0]);

  function createMarker(point,address)
   {    
   var marker = new GMarker(point);    
   GEvent.addListener(marker, "click", function() 
   {    
    map.openInfoWindowHtml(point, address);    
   });    
   return marker; 
   } 
   map.addOverlay(createMarker(point, response.name)); 

}

1 个答案:

答案 0 :(得分:0)

使用API​​ v3并在标记设置中将标记的标记设置为“name”,然后在添加单击标记后,您将能够引用所单击标记的标题 - 如果这是您想要的。

 //get your point and name whatever way you plan to do it
...

function createMarker(point,name){

var marker = new google.maps.Marker({
  position: point, 
  map: map,
  title: name,
}) ;

var content='Whatever info you want plus'+name;

var infowindow = new google.maps.InfoWindow({
    content: content
});

google.maps.event.addListener(marker, 'click', function() {
  infowindow.open(map,marker);
});  
return marker; 
} 

请检查我刚才写的关闭。 ķ

相关问题