我在谷歌地图中显示一些标记,从数据库中检索一些点。在这里,我可以添加一些新点或删除我的数据库中的一些点。但我的问题是,当新的点添加到数据库时,地图不会将更新的点显示到地图中,因为它没有刷新。我不想刷新整个网页。这是我工作的链接 -
http://128.233.104.33/passgui/editLeveledit.php
我想要的是 -
- 在我点击添加新兴趣点
时显示地图上新添加的数据- 如果删除单个POI,一旦从关卡表中单击删除POI按钮,也应该从地图中删除。
有人可以帮帮我吗?
答案 0 :(得分:0)
一个好的策略是将所有当前的gmarker存储到javascript数组中。首先,如果你删除或添加一个你删除的新gmarker或将其添加到你的阵列然后删除地图上的每个gmarker(清除地图),然后你想循环遍历你的数组并重新绘制每个gmarker如果删除或添加onClick-事件被解雇了。
答案 1 :(得分:0)
以下是Google Maps v2 API的广泛参考:http://econym.org.uk/gmap/
从“基础知识”中查看“Part 11”。点击按钮后删除/添加点数。使用Ajax检索新坐标,我确信您可以管理另一种方式。 : - )
答案 2 :(得分:0)
DEMO: http://so.devilmaycode.it/refresh-reload-maps-google-maps-api-v2/
您需要的只是在源头内,看一看并告诉我。
基本上该演示使用了markermanager.js
lib,就像你现在一样,它解释了如何引用到新添加的标记以及如何insert
和{{ 1}}他们没有刷新当前地图/页面;
后面的过程很简单,每次使用remove
func将marker
添加到地图时,它会创建addMarkers
,我们要查找的属性为{{1}这是marker.object
的形式,其中marker.no
是增量数字,因此可以是任何数字。
现在,真正的技巧是创建一个marker#
数组,我们存储所有创建的标记以便于访问。
因此,我们可以使用#
func来覆盖和删除每个标记:global
其中removeMarker
是removeMarker(global_marker_array[marker_id]);
;
我认为这种方法非常好,因为你不需要知道lat和long,以便第二次检索标记。