人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

googlemaps api v3 で 下記のこと(v2用)と同じ事をしたいのですがズバリコードを教えて下さい。

マップ上の上からXXピクセル、左からXXピクセルの位置の緯度経度を知りたいと考えています。

海外サイトも探しましたが議論している様なページしか見付けられませんでした。

var latlng = map.fromContainerPixelToLatLng(new GPoint(50, 100));
var lat = latlng.lat();
var lng = latlng.lng();

よろしくお願いします。

●質問者: worldtravel
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●100ポイント ベストアンサー

動作検証してないのですが、ここのやり方で取り出せると思います。
http://shahmirj.com/blog/pixel-to-latlng-google-maps-api-v

var map = new google.maps.Map(
 ...
);

// OverlayView を作る
var overlay = new google.maps.OverlayView();
overlay.draw = function() {}; // 描画の必要が無いので draw を何もしない関数にする
overlay.setMap(map); // マップとひも付ける

// MapCanvasProjection を取得して、fromContainerPixelToLatLng() を呼び出す
var coordinates = overlay.getProjection().fromContainerPixelToLatLng(
 new google.maps.Point(50, 100)
);

// 緯度と経度を取り出す
var lat = coordinates.lat;
var lng = coordinates.lng;


一応、公式リファレンスの URL を。
https://developers.google.com/maps/documentation/javascript/reference?hl=ja#OverlayView
https://developers.google.com/maps/documentation/javascript/reference?hl=ja#MapCanvasProjection


a-kuma3さんのコメント
こっちにも、同じコードがあったんで、いけると思います。 http://stackoverflow.com/questions/3567639/how-to-get-the-locationlat-lng-on-google-maps-v3-from-the-locationx-y

worldtravelさんのコメント
ありがとうございます。 早速試してみました。 1回でしたら大丈夫そうです。 ただ... この中で使おうとするとブラウザがフリーズしてしまいました。 google.maps.event.addListener(map, 'drag', function() { hoge(); }); 何度試してもダメそうなので、他の方法を模索しています。 自分の書いたコードにも問題があるのかもしれません。 その点も含めて見直してみます。 質問自体が詳しい使い方間書いていませんので、 この質問に対しての解答としては解決です。 ありがとうございます。

a-kuma3さんのコメント
コメントで書いた stackoverflow のコードにある、OverlayView と Map の紐付けを解除するのを試してみてはどうでしょうか? >|javascript| function PixelToLatLng(x,y){ var overlay = new google.maps.OverlayView() overlay.setMap(map); var LatLng = overlay.getProjection().fromContainerPixelToLatLng(new google.maps.Point(x,y)); overlay.setMap(null); delete overlay; // ★コレ! return LatLng; } ||<

worldtravelさんのコメント
ありがとうございます。 やはり場合によって挙動がおかしくなります。 ズームした瞬間にマップを動かせなくなる、などです。 ズームを使わなければ、問題なく動いている感じです。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ