2012-09-13 53 views
0

虽然我在Gmapv2..version得到这个工作三是证明是有点麻烦。添加XML属性GMap3 infoBubbles

我想其他的属性添加到XML文件中的infobubble,但无论我尝试添加它们,它打破了上点击标记?

<script type="text/javascript"> 
    var infowindow; 
    var map; 
    function initialize() { 

     var myLatlng = new google.maps.LatLng(54.046575, -2.8007399); 
     var myOptions = { 
      zoom: 13, 
      center: myLatlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     } 
     map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 
     downloadUrl("http://www.xxxxxx.com/xxxxx.com/server/venue_output.php",   function(data) { 
      var markers = data.documentElement.getElementsByTagName("marker"); 
      for (var i = 0; i < markers.length; i++) { 
      var latlng = new   google.maps.LatLng(parseFloat(markers[i].getAttribute("latitude")), 
           parseFloat(markers[i].getAttribute("longitude"))); 
           var event_name =   markers[i].getAttribute("event_title"); 
     var event_start = markers[i].getAttribute("event_start"); 
     var event_link = markers[i].getAttribute("event_link");  
      var marker = createMarker(markers[i].getAttribute("event_name"),latlng); 
      } 
     }); 
     } 

     function createMarker(name, latlng) { 
     var marker = new google.maps.Marker({position: latlng, map: map, bounce:true, icon : new google.maps.MarkerImage('http://www.gigizmo.com/gigizmo.com/app/images/marker.png')}); 
     google.maps.event.addListener(marker, "click", function() { 
      if (infowindow) infowindow.close(); 
      infowindow = new google.maps.InfoWindow({content: "<b>" + name + "</b>" }); 
      infowindow.open(map, marker); 
     }); 
     return marker; 
     } 

    </script> 

如何将我的javascript值(如event_link)添加到此标记窗口?

infowindow = new google.maps.InfoWindow({content: "<b>" + name + "</b>" }); 

回答

0

你可以试试这个代码片断,在提供:this example

function createMarker(..){ 

     eval(" infowindow"+time+" = new google.maps.InfoWindow({ content: pt.latLng.toString() });"); 
     eval(" marker"+time+" = new google.maps.Marker({ position: pt.latLng, map: map });"); 
     eval(" google.maps.event.addListener(marker"+time+", \"click\", function() { infowindow"+time+".open(map, marker"+time+"); });"); 
     time++; 
//rest of your code 
} 

而且也,我以前的经验来说: 要确保你的XML文件不包括换行符。 特别是作为价值,你设置为“name”的变量。