[PR]ネットとスマホ OCNでまとめておトク!2つの割引で月額基本料が【永年1,300円/月割引】

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

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

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

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

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

このQ&Aに関連する最新のQ&A

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に関連する人気のQ&A

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

このQ&Aと関連する良く見られている質問

QOpenLayersの描画を固定で表示させる方法

OpenLayersの描画を固定で表示させる方法

OpenLayersで地図を描画させ、そこに描画した画像(アイコン)などを固定で表示させる方法を探しています。

マーカーを地図の指定した位置に表示させることは出来るのですが、地図の移動に合わせてマーカーも移動します。
求めているものは、地図を移動させても、描画した図形がそのまま静止して描画され続けることを実現したいと思っています。

例えば、yahooの地図で、「地図の表示設定」⇒「地図中心点の表示」で表示されるような中心点のように、常に地図の中心に表示されるような描画です。

何か方法やアドバイス等、ございましたら、ご回答頂ければと思います。

<開発環境>
・HTML5
・OpenLayers 2.12
・Apache 2.2.22
・Windows XP
・ブラウザ:Google Chrome/Safari

<実現方法>
・Google mapのAPIを使用せず、Javascript/OpenLayersの実装で描画したいと思っています。
(現在、Google mapにて地図を描画していますが、MapServerにて地図を描画する予定です)
・地図の中心点の実現を含め、任意の場所に固定で表示する方法を探しています。

以上、よろしくお願い致します。

OpenLayersの描画を固定で表示させる方法

OpenLayersで地図を描画させ、そこに描画した画像(アイコン)などを固定で表示させる方法を探しています。

マーカーを地図の指定した位置に表示させることは出来るのですが、地図の移動に合わせてマーカーも移動します。
求めているものは、地図を移動させても、描画した図形がそのまま静止して描画され続けることを実現したいと思っています。

例えば、yahooの地図で、「地図の表示設定」⇒「地図中心点の表示」で表示されるような中心点のように、常に地図の中心に表...続きを読む

Aベストアンサー

OpenLayersのAPIや仕組みを存じていませんので、想像での回答ですが…

まずは考え方を二通り。

1)ブラウザ上のマップの表示位置は固定(表示内容は移動しても)なのでしょうから、DOM上で固定したい位置にマーカー等を固定表示しておけばマップの表示内容に関われず固定できると思われます。

2)マップ上に(固定したい)マーカーを表示しておいて、マップの表示範囲が移動するた毎に移動方向と反対に(固定したい)マーカーを移動させる。
(OpenLayersで表示移動時のイベントや、移動距離を取得できるのかどうかは知りません。)



以前、google mapに関してかなり似た質問がありました。
まさにご例示のような、マップの中央に固定して十字線を表示しておきたいというものでした。

上記の二通りの方法について回答がでていますので、ご参考までに。
http://oshiete.goo.ne.jp/qa/6883988.html

Qポートの80と443

こちらのサービス(https://secure.logmein.com/)を利用すると、インターネットを見られるサーバーのポートの80と443が空いていればルータやファイアウォールに特段の設定なく外部からサーバーを操作できるそうですが、逆にサーバーのポートの80や443を空けることには何か危険性があるのでしょうか。

Aベストアンサー

ポート80は一般的なHTTP、ポート443はHTTPSです。
この2つのポートがあいていなければインターネット接続(WEBブラウジング)は出来ません。
ですから、ほとんどのファイアウォールでこのポートは開いています。(インターネット接続を制限している社内LANでは当然閉じていますが)

ちなみに、よく使うポートとしてはFTPで20、21、SMTP(送信メール)で25、受信メールPOP3で110あたりです。セキュリティポリシー上、この辺は制限される事も多いですが、HTTP 80、HTTPS(暗号化用)443は通常閉じません。


危険性?
WEBプロトコルを使ってFTP的なファイル転送(WebDAV)やVPN等も出来るようになっています。当然そこにはある種の危険はつきものですが、WEBブラウジングに伴う危険と大きく変わりません。ウィルス等に感染していればこの2つのポートだけでも相当危険でしょうね。

参考まで。


人気Q&Aランキング