在Google地图上停止显示加载时的InfoWindow

时间:2012-04-11 10:09:07

标签: javascript google-maps

您好我正在尝试将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;
}

2 个答案:

答案 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);