谷歌地图jquery窗口问题



当我点击标记时,总是显示相同的数据。。。为什么?

代码:

function load() 
{
  var dialog = $('<div>').dialog({autoOpen:false});
  var map = new google.maps.Map(document.getElementById("map"), 
  {
        center: new google.maps.LatLng(47.6145, -122.3418),
        zoom: 13,
        mapTypeId: 'roadmap'
  });
  var infoWindow = new google.maps.InfoWindow;

  // Change this depending on the name of your PHP file
  downloadUrl("phpsqlajax_genxml.php", function(data) 
  {
    var xml = data.responseXML;
    var markers = xml.documentElement.getElementsByTagName("marker");
    for (var i = 0; i < markers.length; i++) 
    {
      var name = markers[i].getAttribute("name");
      var address = markers[i].getAttribute("address");
      var type = markers[i].getAttribute("type");
      var point = new google.maps.LatLng
                  (
                      parseFloat(markers[i].getAttribute("lat")),
                      parseFloat(markers[i].getAttribute("lng"))
                  );
      var html = "<b>" + name + "</b> <br/>" + address;
      var icon = customIcons[type] || {};
      var marker = new google.maps.Marker
                   ({
                       map: map,
                       position: point,
                       icon: icon.icon,
                       shadow: icon.shadow
                   });
     google.maps.event.addListener(marker, 'click', function() 
     {
         dialog.html(html).dialog('open');
     });
    }
 });

}

试试这个:

第一次更改

 google.maps.event.addListener(marker, 'click', function() {...});

google.maps.event.addListener(marker, 'click', dial(html));

第二个添加以下功能:

 function dial(html){
 return function(){
 dialog = $('<div>').dialog({autoOpen:false});
 dialog.html(html).dialog('open');
 }
 }

希望它能帮助

K

更改这些行。。。

var marker = new google.maps.Marker
google.maps.event.addListener(marker, 'click', function() 

到这些。。。

var marker;
marker[i] = new google.maps.Marker
google.maps.event.addListener(marker[i], 'click', function() 

相关内容

  • 没有找到相关文章

最新更新