プロが教えるわが家の防犯対策術!

Google Maps Api V3で地図を作っています。

描画した地図の中心に十字マーカーを表示させたいのですが、どのようにすればいいのでしょうか?

マーカー表示はできたのですが、地図をドラッグすると、地図と一緒に移動してしまいます。
dragイベント中に再描画すればいい・・・と考えましたが、具体的にどのようなソースを書けばいいのかわかりません。

ネットで探しているのですが、V2ばかりで、それをV3に応用することができませんでした。
下記URLのようなものをV3で実現したいと考えています。
http://googlemaps.googlermania.com/google_maps_a …

V3で紹介してあるサイトをご存知の方は教えていただけないでしょうか。
ソースを直接ご指導いただける方でも大歓迎です。
宜しくお願いいたします。

A 回答 (3件)

質問者のいうAPI。

No.1にあるDOM。2パターン書いてみました。

API 版
http://library.nukimi.com/googlemaps/api-source. …

マップセンターの移動に合わせ地理的座標を取得。それをピクセル座標に変換、再描画
とマーカー位置を維持するための負荷がかかります。
マップドラッグなど、ただでさえマップセンター移動は高負荷の状況ですから
古いIEなどマーカー静止は厳しいかも。

DOM 版
http://library.nukimi.com/googlemaps/dom-source. …

No.1にありますから詳細は略。「ブラウザによってはズレる可能性がある」とのことですが
そこあたりは良く分かりませんでした。


APIの扱いに慣れると地図制作の幅が広がりますし、そういう意味でAPIはありですが
No.1にある通り、私もAPI利用はここじゃない、とやってみて思いました。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
また、2通りものソースをご提示いただき、ありがとうございます。

オーバーレイではなく、単純にマップ上にマーカーを表示させ、それを中心に固定できれば負荷も減ると思ったのですが、それは素人考えなのかもしれませんね。

ご提示いただいたソースを拝見し、勉強させていただきます。

お礼日時:2011/07/24 16:50

>> No.2 お礼



OverlayViewクラスがベストってわけじゃないかも知れませんが。。。

はじめにMarkerクラス .setPosition() で単純にやってみましたが、ダメでした。
Google Chromeは流石というか、相性が良いのかそれなりに動きましたけど。

API-Marker 版
http://library.nukimi.com/googlemaps/marker-sour …

実際に確認した方が早い。
    • good
    • 0
この回答へのお礼

再度ご回答いただきありがとうございます。

なるほど、奇妙な動きですね。
勉強になりました。(^^ゞ
ありがとうございます。

お礼日時:2011/07/25 07:40

マップの表示対象要素とそのサイズはわかっているのでしょうから、位置固定のカーソルを表示したいのであれば、googleAPIを利用する必要がないのではないでしょうか?


マップ上に表示するから、移動したときに再度表示し直す必要が出てしまうので、対象要素の中心に固定で表示するようにしておけば、表示するだけですみそうに思えます。

具体的には、カーソル用のアイコン(又はdivによるヘアカーソルなど)をposition:absoluteでマップ表示用の要素の中央に来るように表示しておくだけ。
そうすれば、スクリプトも不要になりませんか?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

なるほど、地図とマーカーをHTML上で重ねる発想ですね。
ただし、これだとブラウザによってはズレる可能性があるので、やはりAPI上で描画したいと思います。

お礼日時:2011/07/19 17:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!