2010-07-30 64 views
0

我在Google地圖中遇到了以下問題。Google地圖中的Infowindow不會填充

我創建了一個createMarker函數,它返回一個我用addOverlay()發佈的標記。這個工作非常完美,標記得到了顯示,但唯一的問題是標記點擊事件,我想要一個infowindow,裏面填充'我想要發佈這個文本'的文本,而不是填充一個名爲html的var我在我的代碼開頭(var html = 'test';)中設置了,我之前收到一個'html is not defined'的消息,這就是爲什麼設置了html var。每個infowindow都有文字「測試」。我試過使用updateInfoWindow()但這不起作用,熟悉這個問題的任何人?我可以爲您提供完整的源代碼,但我認爲createMarker函數應該足夠了。

function GM_load() { 
    map = new GMap2(document.getElementById("map")); 
    map.addControl(new GSmallMapControl()); 
    map.addControl(new GMapTypeControl()); 
    map.enableScrollWheelZoom(); 
    map.setMapType(G_HYBRID_MAP); 
    geocoder = new GClientGeocoder(); 
    GM_showItems(); 
}  


function GM_showItems() { 
    GDownloadUrl("modules/Googlemaps/ajax/getItems.php", function(data, responseCode) { 
     var xml = GXml.parse(data); 
     var markers = xml.documentElement.getElementsByTagName("marker"); 
     for (var i = 0; i < markers.length; i++) { 


      //start 
      var itemid = markers[i].getAttribute('id'); 
      var title = markers[i].getAttribute('name'); 
      var address = markers[i].getAttribute('address'); 
      var city = markers[i].getAttribute('city'); 
      var x = 0; 
      if (geocoder) { 

       geocoder.getLatLng(address + ' ' + city, 
        function(point) { 
         if (!point) { 
          alert(address + ' ' + city + " not found"); 
         } else { 
          x = x+1; 
          Marker = createMarker(point, x); 
          map.addOverlay(Marker); 
         } 
        } 
       ); 
      } 

     } 

    }); 
} 




function createMarker(latlng, number) { 
    var marker = new GMarker(latlng); 
    marker.value = number; 
    GEvent.addListener(marker,"click", function() { 
     map.openInfoWindowHtml(latlng,'i want this text to be published'); 
    }); 

    return marker; 
} 

回答

0

已解決。

我覆蓋了var html。不完美,但它的作品。

相關問題