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;
}