开发者

google map - jquery window problem

When i click on marker always show the same data... why?

code:

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(开发者_JS百科) 
     {
         dialog.html(html).dialog('open');
     });
    }
 });

}


Try this:

1st change

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

to

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

2nd add the following function:

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

Hope it helps

K


Change these lines...

var marker = new google.maps.Marker

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

to these...

var marker;
marker[i] = new google.maps.Marker

google.maps.event.addListener(marker[i], 'click', function() 
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜