Javascript/Google 地图,自动创建的组合框在第二次迭代中失败
Posted
技术标签:
【中文标题】Javascript/Google 地图,自动创建的组合框在第二次迭代中失败【英文标题】:Javascript/Google Maps, autocreated combo box failing on second iteration 【发布时间】:2010-10-04 04:46:59 【问题描述】:我对 javascript 和 GoogleMaps API 还是很陌生。我在用标记填充的地图有问题。我有一个组合框,允许用户选择标记并突出显示标记在屏幕上为他们弹出一个信息框。
使用 Mike Williams 关于 google maps API (http://econym.org.uk/gmap/index.htm) 的优秀教程,我有了一个良好的开端,并且我的大部分应用程序都能正常工作。
这个问题可以归结为这个链接,它是 Mike William 的一个例子的轻微修改版本:
http://duncanmargetts.com/map3.html
在页面的初始加载时,您可以看到填充了 100 个标记。在 GEvent 上为每个标记创建一个事件侦听器,当用户从组合框中选择一个项目时,将显示信息框。.
我添加了一个 SetInterval,它每 8 秒重绘一次地图。重绘地图后,组合框仍会加载正确的内容,但事件侦听器不会触发。. 看不到弹出信息框。
重建步骤:
点击链接 (http://duncanmargetts.com/map3.html)
立即从屏幕底部的下拉框中选择一个项目...观察关联的标记是否出现了弹出框。
等待 setInterval 至少 8 秒触发..
从 ComboBox 中选择一个项目.. 观察没有任何反应:(
关于代码的一些信息是:
drawMap() 在页面第一次加载时被调用。 此后,SetInterval 每 8 秒调用一次 drawMap()。
drawMap 检索一个包含 100 个标记的详细信息的 XML 文件,并为每个标记调用“createMarker”.. 在构建 select_html 的过程中,一个字符串,在标记的迭代结束时,它被放置在一个div ("selection") 使用 document.getElementById("selection").innerHTML = select_html;
我猜也许我没有清除旧的听众..也许..我看过 GEvent.clearListeners 但无法解决a)这是我需要的还是b)如何将它集成到我的代码中.
非常感谢您阅读本文。如果您有任何想法,我当然会非常感激..
非常感谢,
邓肯。
【问题讨论】:
【参考方案1】:变量 i = 0;在第 32 行没有在每次地图重新加载时重置为零..
邓肯。
【讨论】:
以上是关于Javascript/Google 地图,自动创建的组合框在第二次迭代中失败的主要内容,如果未能解决你的问题,请参考以下文章
Javascript Google地图,按经度和纬度坐标显示图钉[重复]
Unversioned Javascript Google Maps API参考拉(破)实验版