您好我正在尝试将gmap与我的网站集成。但默认情况下,infowindow已打开。我想在点击标记后打开infowindow。如何在页面加载时关闭infowindow?
function initialize() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
map.setCenter(new GLatLng(22.4642600, 70.0690540), 6);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.addMapType(G_SATELLITE_3D_MAP);
for (var i = 0; i < newpoints.length; i++) {
var point = new GPoint(newpoints[i][1], newpoints[i][0]);
var popuphtml = newpoints[i][4];
var post_url = newpoints[i][5];
var addr = newpoints[i][6];
var marker = createMarker(point, newpoints[i][2], popuphtml, post_url, addr);
map.addOverlay(marker);
}
}
}
function createMarker(point, icon, popuphtml, post_url, addr) {
var popuphtml = '<div id="popup">' + popuphtml + '<div><a href=' + post_url + '>Link</a></div></div>';
var marker = new GMarker(point);
marker.openInfoWindowHtml(popuphtml);
GEvent.addListener(marker, "click", function () {
marker.openInfoWindowHtml(popuphtml);
});
return marker;
}
答案 0 :(得分:1)
删除此行
marker.openInfoWindowHtml(popuphtml);
所以它变成了
function createMarker(point, icon, popuphtml, post_url, addr) {
var popuphtml = '<div id="popup">' + popuphtml + '<div><a href=' + post_url + '>Link</a></div></div>';
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function () {
marker.openInfoWindowHtml(popuphtml);
});
return marker;
}
您正在立即调用openInfoWindowHtml
方法...现在只在标记的click
事件发生时调用
您正在使用Google Maps V2 ...这是来自谷歌的与V2相关的消息
注意:自2010年5月19日起,Google Maps Javascript API版本2已被正式弃用.V2 API将继续按照我们的弃用政策运行,但我们建议您将代码迁移到地图版本3 Javascript API。
答案 1 :(得分:0)
在marker.openInfoWindowHtml(popuphtml);
var marker = new GMarker(point);