如何动态添加google map infowindow?

Yas*_*ahu 5 javascript asp.net jquery google-maps

在这里,我使用谷歌地图API在我的网站上显示谷歌地图.在这里,我可以通过以下代码静态添加谷歌地图:

        var map = new GMap2(document.getElementById('map'));
        map.addControl(new GSmallMapControl());
        map.setCenter(new GLatLng(21.183008, 81.36186199999997), 6);



        var marker = new GMarker(new GLatLng(21.183008, 81.36186199999997), {});
        GEvent.addListener(marker, "mouseover", function () {
            marker.openInfoWindow("Hi ");
        });
        GEvent.addListener(marker, "mouseout", function () {
            map.closeInfoWindow();
        });
        map.addOverlay(marker);           


        var marker1 = new GMarker(new GLatLng(21.25, 81.62), {});
        GEvent.addListener(marker1, "mouseover", function () {
            marker1.openInfoWindow("HI All");
        });
        GEvent.addListener(marker1, "mouseout", function () {
            map.closeInfoWindow();
        });          
        map.addOverlay(marker1);
Run Code Online (Sandbox Code Playgroud)

我在数组中设置了标记值.当我尝试动态创建时,只显示最后的信息窗口.

等待回应....

Har*_*men 0

这与 Javascript 中的闭包有关,这是一个常见问题。请参阅Google Maps Javascript API 文档以获取解决方案。

有关闭包的更多信息,我建议您在 Stackoverflow 上搜索(例如,这里的评论);)