2011-07-27 31 views
6

私は、Googleマップでいくつかのポイントをデータベースから取得しています。ここで私は新しいポイントを追加したり、データベース内のいくつかのポイントを削除することができます。しかし、私の問題は、新しいポイントがデータベースに追加され、更新されたポイントがリフレッシュされていないためマップに更新されたポイントが表示されないということです。私はウェブページ全体をリフレッシュしたくありません。ここに私の仕事のリンクされて -地図をリフレッシュ/再読み込みする:Google maps API V2

http://128.233.104.33/passgui/editLeveledit.php

私が欲しいものがある - 私は新しいランドマークに

の追加]をクリックしたときに

は--to地図上で新しく追加されたデータを示して--IfレベルテーブルからPOIボタンをクリックすると、1つのPOIも削除されます。

誰も私を助けてくれますか?

+0

恩恵を受けていただきありがとうございます。迷惑をかけたくありませんが、完全に受け入れるために回答を確認する必要があります。コードに関する他の質問がある場合は、mwに知らせてください;-) –

+0

コメントありがとうございます。確かにそれをします。最近私はいくつかのプロジェクトで忙しかったので少し遅れました。それはできるだけ早く行います。サーバーから削除しないでください。あなたの助けに感謝します。 – Pow

+0

デモがそこにいるとは思わないでください! ;-) –

答えて

0

現在のすべてのgmarkerをjavascript配列に保存するのがよい方法です。最初に新しいgmarkerを削除または追加する場合は、削除するか配列に追加してから、マップ上のすべてのgmarkerを削除してから(マップをクリア)、アレイをループして、削除または追加すると各gmarkerを再描画します。イベントが発生します。 "基本" から "Part 11" でhttp://econym.org.uk/gmap/

ルック:

0

はここでGoogleマップV2 APIの豊富なリファレンスです。ポイントはボタンをクリックすると削除/追加されます。新しい座標はAjaxを使用して取得されますが、別の方法で管理できると確信しています。 :-)

0

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


あなたが必要とするすべてのを見て、私に知らせて、ソース内にあります。

基本的にデモは、あなたが今、それが現在のマップ/ページを更新することなく、それらをどのように新たな付加マーカーを参照とどのようにinsertをexplaneとremoveん同じように、markermanager.js LIBの使用を作ります。

の背後にあるプロセスは単純で、毎回が、それはmarker.objectを作成addMarkers FUNCを使用してマップに追加され、我々が探しているプロパティは、#がそう増分数であるmarker#の形態であるmarker.noあります任意の数字にすることができます。

ここで実際のトリックは、容易にアクセスできるように作成されたすべてのマーカーを保存するglobalアレイを作成することです。だから、

、我々はこのようなremoveMarker FUNCを使用して、各単一のマーカーに到達し、削除することができます:marker_idmarker.noあるremoveMarker(global_marker_array[marker_id]);

私はこのアプローチが本当に素晴らしいと思うので、マーカーを2回目に取得するために緯度と経度を知る必要はありません。

関連する問題