- ベストアンサー
GMap Api V3で中心マーカーを表示させる方法
- GMap Api V3を使用して地図を表示している際、中心に十字マーカーを表示させたい場合、どのようにすればよいのかわかりません。
- マーカーは表示できるものの、地図をドラッグするとマーカーも一緒に移動してしまい、再描画の方法が分かりません。
- V3で中心マーカーを表示する方法に関して、オンラインの情報は主にV2に関するものばかりであり、具体的な実装方法が分かりません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
質問者のいうAPI。No.1にあるDOM。2パターン書いてみました。 API 版 http://library.nukimi.com/googlemaps/api-source.html マップセンターの移動に合わせ地理的座標を取得。それをピクセル座標に変換、再描画 とマーカー位置を維持するための負荷がかかります。 マップドラッグなど、ただでさえマップセンター移動は高負荷の状況ですから 古いIEなどマーカー静止は厳しいかも。 DOM 版 http://library.nukimi.com/googlemaps/dom-source.html No.1にありますから詳細は略。「ブラウザによってはズレる可能性がある」とのことですが そこあたりは良く分かりませんでした。 APIの扱いに慣れると地図制作の幅が広がりますし、そういう意味でAPIはありですが No.1にある通り、私もAPI利用はここじゃない、とやってみて思いました。
その他の回答 (2)
- my--
- ベストアンサー率89% (91/102)
>> No.2 お礼 OverlayViewクラスがベストってわけじゃないかも知れませんが。。。 はじめにMarkerクラス .setPosition() で単純にやってみましたが、ダメでした。 Google Chromeは流石というか、相性が良いのかそれなりに動きましたけど。 API-Marker 版 http://library.nukimi.com/googlemaps/marker-source.html 実際に確認した方が早い。
お礼
再度ご回答いただきありがとうございます。 なるほど、奇妙な動きですね。 勉強になりました。(^^ゞ ありがとうございます。
- fujillin
- ベストアンサー率61% (1594/2576)
マップの表示対象要素とそのサイズはわかっているのでしょうから、位置固定のカーソルを表示したいのであれば、googleAPIを利用する必要がないのではないでしょうか? マップ上に表示するから、移動したときに再度表示し直す必要が出てしまうので、対象要素の中心に固定で表示するようにしておけば、表示するだけですみそうに思えます。 具体的には、カーソル用のアイコン(又はdivによるヘアカーソルなど)をposition:absoluteでマップ表示用の要素の中央に来るように表示しておくだけ。 そうすれば、スクリプトも不要になりませんか?
お礼
ご回答ありがとうございます。 なるほど、地図とマーカーをHTML上で重ねる発想ですね。 ただし、これだとブラウザによってはズレる可能性があるので、やはりAPI上で描画したいと思います。
お礼
ご回答ありがとうございます。 また、2通りものソースをご提示いただき、ありがとうございます。 オーバーレイではなく、単純にマップ上にマーカーを表示させ、それを中心に固定できれば負荷も減ると思ったのですが、それは素人考えなのかもしれませんね。 ご提示いただいたソースを拝見し、勉強させていただきます。