アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております。
Google Maps APIで、ピクセル単位で緯度・経度を出す関数fromDivPixelToLatLng()について質問させてください。

少々簡略化していますが、現在下記のようなコードで緯度、経度を表示させようとしています。

function showXY(){
var LatLng = map.fromDivPixelToLatLng(new GPoint(100,100));
document.getElementById("show_x").innerHTML = LatLng.x;
document.getElementById("show_y").innerHTML = LatLng.y;
}

地図を動かさなければこれでも動きます。
ところが、地図の中心をドラッグで移動させた後にこのコードを起動させるとおかしなことになります。緯度・経度が変わらないのです。

移動させた後の地図の経度・緯度を算出させたいのですが、どうすれば良いのでしょうか?

A 回答 (1件)

function showXY(){


var LatLng = map.fromContainerPixelToLatLng(new GPoint(200,200));
alert(LatLng.x + '=' + LatLng.y);
}

これじゃダメですか?
    • good
    • 0
この回答へのお礼

ありがとうございます。できたみたいです。

使うべき関数が違ってたんですね(^^;
わざわざこんなことをやってました(汗)

function getLatLonFromPixel(x,y) {
var swpixel = map.getCurrentMapType().getProjection().fromLatLngToPixel(map.getBounds().getSouthWest(),map.getZoom());
var nepixel = map.getCurrentMapType().getProjection().fromLatLngToPixel(map.getBounds().getNorthEast(),map.getZoom());
return map.getCurrentMapType().getProjection().fromPixelToLatLng(new GPoint(swpixel.x + x,nepixel.y + y),map.getZoom());
}

お礼日時:2007/08/04 05:50

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