刷新/重新加载地图:谷歌地图API V2
Refresh/Reload maps : Google maps API V2
我显示一些标记在我的谷歌地图检索一些点从数据库。在这里我可以添加一些新的点或删除一些点在我的数据库。但我的问题是,当新的点被添加到数据库,地图不显示更新点到地图,因为它没有刷新。我不想刷新整个网页。这是我作品的链接-
http://128.233.104.33/passgui/editLeveledit.php我要的是-
——当我单击add new poi时,在地图上显示新添加的数据
—如果我删除了一个POI,那么当我点击关卡表中的delete POI按钮时,它也应该从地图中删除。
有谁能帮帮我吗?这里是Google Maps v2 API的广泛参考:http://econym.org.uk/gmap/
看"基础知识"中的"第11部分"。点被删除/添加点击按钮。使用Ajax检索新坐标,但我相信您可以使用另一种方式进行管理。: -)
一个好的策略是将当前所有的gmarker存储到javascript数组中。首先,如果你删除或添加一个新的gmarker,你将其删除或添加到你的数组中,然后你删除地图上的每个gmarker(清除地图),然后你想循环遍历你的数组并重新绘制每个gmarker,如果delete或add onclick事件被触发。
DEMO: http://so.devilmaycode.it/refresh-reload-maps-google-maps-api-v2/
所有你需要的是在源代码,看看,让我知道。
演示基本上使用了markermanager.js
库,就像你现在做的一样,它解释了如何引用到新添加的标记,以及如何在不刷新当前地图/页面的情况下insert
和remove
它们;
背后的过程很简单,每次通过使用addMarkers
函数将marker
添加到映射中,它创建一个marker.object
,我们正在寻找的属性是marker.no
,其形式为marker#
,其中#
是增量数字,因此可以是任何数字。
现在,这里真正的技巧是创建一个global
数组,我们存储所有创建的标记,以便于访问。
因此,我们可以通过使用removeMarker
函数来访问和删除每个单个标记,如下所示:removeMarker(global_marker_array[marker_id]);
其中marker_id
是marker.no
;
我认为这种方法非常好,因为您不需要知道第二次检索标记的时间和长度。
- 谷歌地图固定位置覆盖
- 不显示带有本地json文件数据的谷歌地图脚本
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 谷歌地图标记不会显示
- 无法在JS中显示谷歌地图
- 科尔多瓦页面类应用程序中的多个谷歌地图
- 需要帮助谷歌地图方向面板在FancyBox中显示
- 在谷歌地图上获取事件的x,y坐标
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 模拟谷歌地图中的点击
- 如何知道哪个标记被谷歌地图点击了
- 谷歌地图JS API+JSON-多个标记没有显示
- 缓存谷歌地图数据
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- 方向问题地图谷歌地图 API
- 函数更新地图谷歌地图 API
- 动态添加标记更改地图-谷歌地图API
- 两个页面上的三个谷歌地图(谷歌地图V3)
- 刷新/重新加载地图:谷歌地图API V2
- 用新地图(和新选项)替换地图-谷歌地图API