2011-07-27 153 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和長檢索標記第二次。