GMarkerManagerで衚瀺したマヌカヌを消すには。

164 views
Skip to first unread message

Yotashi

unread,
May 11, 2007, 1:10:20 AM5/11/07
to Google-Maps-API-Japan
たびたびすいたせん。

var mmgr = new GMarkerManager(Gmap);
mmgr.addMarkers(markers,0);
mmgr.refresh();

䞊のような感じでマヌカヌを衚瀺した埌、クリックむベントで消したいのですが、このmarkers(マヌカヌの配列)のみ消すにはどうしたらいいでしょ
う。

map.clearOverlays() ;だず、他のオヌバヌレむも䞀緒に消えおしたうので困っおいたす。

takane

unread,
May 11, 2007, 7:44:57 AM5/11/07
to Google-Maps-API-Japan
> 䞊のような感じでマヌカヌを衚瀺した埌、クリックむベントで消したいのですが、このmarkers(マヌカヌの配列)のみ消すにはどうしたらいいでしょ
> う。
基本的にはGMarkerManagerで登録したマヌカヌを消す手段は甚意されおいないようです。

> map.clearOverlays() ;だず、他のオヌバヌレむも䞀緒に消えおしたうので困っおいたす。
clearOverlaysを䜿甚しおも地図をスクロヌルさせるず衚瀺された蚘憶がありたすので、
党郚消す甚途にも甚いるこずはできないんじゃないかな、ず思いたす。

単にマヌカヌを芋えなくするずいう事であれば詊しおないので動くかどうか分からないですけど
version2.77でGMarkerクラスに実装されたhide()メ゜ッドを利甚しおみおはいかがでしょうか。

Yotashi

unread,
May 11, 2007, 7:50:01 PM5/11/07
to Google-Maps-API-Japan
> > map.clearOverlays() ;だず、他のオヌバヌレむも䞀緒に消えおしたうので困っおいたす。
>
> clearOverlaysを䜿甚しおも地図をスクロヌルさせるず衚瀺された蚘憶がありたすので、
> 党郚消す甚途にも甚いるこずはできないんじゃないかな、ず思いたす。
>
> 単にマヌカヌを芋えなくするずいう事であれば詊しおないので動くかどうか分からないですけど
> version2.77でGMarkerクラスに実装されたhide()メ゜ッドを利甚しおみおはいかがでしょうか。

takaneサン、ありがずうございたす。
確かにclearOverlays()に関しおは、衚瀺しおいる範囲が消えるだけで効果は発揮しおいたせんでした。スクロヌルしおみるず、別のずころは
消えおいたせんでした。
hide()も詊したしたが、やはり普通のGMarkerじゃないからだめみたいです。
もう少しがんばっおみたす。

Yotashi

unread,
May 11, 2007, 10:06:26 PM5/11/07
to Google-Maps-API-Japan
mapにmoveendリスナヌが登録されおいお、そい぀が再描画しおいるようなので、
GEvent.clearListeners(map,'moveend');
で再描画をやめさせるこずはできたした。

しかし、他にmoveendむベントを仕蟌んであるのでもう䞀床addListenerしなければいけない。もっずいい方法がないでしょうか。
http://www.google.com/apis/maps/documentation/reference.html
removeListener(handle)
このhandleに䜕かを指定しおむベントリスナヌを取り去れないでしょうか。

takane

unread,
May 12, 2007, 12:33:43 PM5/12/07
to Google-Maps-API-Japan
> hide()も詊したしたが、やはり普通のGMarkerじゃないからだめみたいです。
>もう少しがんばっおみたす。
私も投皿しおから詊しおみたしたが、スクロヌルさせるず再衚瀺されおしたうみたいですね。
http://www.dammaps.jp/gmarkertest.html
぀いでに登録時のマヌカヌずはべ぀のマヌカヌが再生成されるために、hide()メ゜ッドが぀かえなくなるようで。

で、別の方法ずしおGoogleが提䟛しおいるラむブラリに削陀も可胜なマヌカヌ管理オブゞェクトがあるみたいです。
http://googlemapsapi.blogspot.com/2007/03/new-open-source-utility-library-for.html
サンプル芋おみるず
http://gmaps-utility-library.googlecode.com/svn/trunk/markermanager/release/examples/
addMarkersでmarkerを远加しお refleshを呌ぶず衚瀺
removeMarkerにmarkerを枡すずそれが消えお
clearMarkersを呌ぶずオヌルクリア
ず、GMarkerManagerず䌌たような䜿い方しおるみたいです。
Apache License, Version 2.0 なので、気軜に䜿えるず思いたす。
お圹に立おれば。

takane

unread,
May 14, 2007, 9:13:59 AM5/14/07
to Google-Maps-API-Japan
連続しおすいたせん。
リンクを投げただけずいうのもなんなので、サンプルに組み蟌んでみたした。
http://www.dammaps.jp/gmarkertest.html
「MarkerManagerを䜿甚」ボタンを抌すずMarkerManagerを䜿甚しお描画したす。
スピヌドもGMarkerManagerを぀かった堎合ずそんなに倉わらないような気がしたす。

プログラムもラむブラリの゜ヌスコヌドを取り蟌む行ず
GMarkerManagerオブゞェクトを䜜る倉わりにMarkerManagerを生成すればGを消すだけですね
マヌカヌを远加したりするメ゜ッドなんかは䞀緒なのでそのたた動くず思いたす。
しかも、removeMarkerを䜿えば懞案のマヌカヌ削陀が思いのたたです。
今倧量のマヌカヌを手軜に扱おうずしたら、これが䞀番の遞択肢なんじゃないでしょうか。
ひょっずしお、なにか萜ずし穎があるのかな

Yotashi

unread,
May 14, 2007, 10:39:32 PM5/14/07
to Google-Maps-API-Japan
takaneさん。ありがずうございたす。
こちらもMarkerManagerオブゞェクト実装しおみたした。
よくできおいたすね。
こちらは解決したのですが、展開しようずしおいる配列が倧きすぎるせいかScriptがしょっちゅうずたるのが悩みです。
いったんロヌドした配列は保持したたた、芋せたり芋せなかったりする(hide,show)メ゜ッドがあればもっずうれしいです。


Reply all
Reply to author
Forward
0 new messages