如何动态添加谷歌地图信息窗口?

Posted

技术标签:

【中文标题】如何动态添加谷歌地图信息窗口?【英文标题】:How to add google map infowindow dynamically? 【发布时间】:2011-11-09 18:00:40 【问题描述】:

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

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

我在数组中有一组标记值。当我尝试动态创建时,只显示最后一个信息窗口。

等待回复……

【问题讨论】:

这听起来像是一个闭包问题,但是你的数组在哪里(以及预期的for-loop)? 这段代码来自之前版本的google maps api。 v3 已经上线很长一段时间了:code.google.com/apis/maps/documentation/javascript/basics.html 该页面上有很好的示例。 你能设置一个jsfiddle吗..我不确定我需要使用什么谷歌地图api 【参考方案1】:

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

有关闭包的更多信息,我建议您在 *** 上进行搜索(例如评论 here);)

【讨论】:

以上是关于如何动态添加谷歌地图信息窗口?的主要内容,如果未能解决你的问题,请参考以下文章

保存按钮未附加到右侧信息窗口,谷歌地图

如何在谷歌地图上显示多个信息窗口?

无法单击标记 - 谷歌地图集群Android,无法在谷歌地图中显示信息窗口

删除谷歌地图中的自定义信息窗口后如何取消选择 GMSMarker

谷歌地图 Android API v2 - 折线上的信息窗口?

显示信息窗口后阻止谷歌地图移动