2011-07-27 150 views
6

我展示了一些标记在我的谷歌地图,从数据库中检索某些点。在这里,我可以添加一些新的点或删除我的数据库中的一些点。但是我的问题是,当新的点被添加到数据库时,由于地图没有刷新,地图不会将更新后的点显示到地图中。我不想刷新整个网页。这是我工作的环节 -刷新/刷新地图:谷歌地图API V2

http://128.233.104.33/passgui/editLeveledit.php

我要的是 -

--to在地图上显示新添加的数据,当我点击添加新的POI

- - 如果我删除单个POI后也应该从地图中删除一次删除POI按钮,然后从级别表中单击。

任何人都可以帮我吗?

+0

感谢对赏金,我不想打扰你,但你也应该检查答案,以充分接受。如果您对代码有任何其他问题,请让我们知道,问候;-) –

+0

感谢您的评论。当然,我会这样做。由于我现在忙于其他一些项目,所以有点晚了。将尽快完成。请不要将其从您的服务器中删除。非常感谢你的帮助。 – Pow

+0

不要担心演示会在那里! ;-) –

回答

0

一个好的策略是将所有当前的GMarker存入一个JavaScript数组。首先,如果您删除或添加一个新删除的gmarker,或者将其添加到您的数组中,然后删除map上的每个gmarker(清除地图),然后想要遍历数组并重新绘制每个gmarker,如果删除或添加了onClick-事件被解雇。

0

下面是谷歌地图API V2广泛引用:http://econym.org.uk/gmap/

看“Part 11”,从“基础知识”。按一下按钮即可删除/添加点数。新坐标使用Ajax检索,我相信你可以用另一种方式管理。 :-)

0

DEMO:http://so.devilmaycode.it/refresh-reload-maps-google-maps-api-v2/


所有你需要的是源里面,看看,让我知道。

基本上演示利用markermanager.js LIB的,就像你现在要做的,是explane如何参考新添加的标记以及如何insertremove他们无需刷新当前地图/页;

背后的过程很简单,每一个添加到地图使用addMarkers FUNC它创建一个marker.object时间,我们正在寻找的属性是marker.no是在marker#形式,其中#是增量号码,可以是任何数字。

现在,真正的关键是要建立一个global阵列我们存储所有的轻松访问所创建的标记。

因此,我们可以得出,通过使用removeMarker FUNC这样删除的每一个标记:removeMarker(global_marker_array[marker_id]);其中marker_idmarker.no;

我觉得这种做法是非常好的,因为你不需要知道lat和长检索标记第二次。