2009-04-08 38 views
1

Googleマップとストリートビューは、指定された緯度/経度、ズーム、ヨーおよびピッチに基づいています。これらの値のそれぞれについて、そのデフォルトから変更されたとき、またはボタンがクリックされたときに、隠しフィールドを更新するためにjavascriptを呼び出す必要があります。Googleのストリートビューから緯度/経度/緯度/緯度/経度を取得する

地図/ストリートビューがズームイン、パン、チルトなどのときはいつでも、新しい詳細が出力されます。 (:ナンバーヨー)、pitchchanged

はどのような機能getPOV()、yawchanged呼ぶのです(ピッチ:Number)を、そしてzoomchanged:ストリートビューは(地図のためmoveendと同様)に変更されるたびに(ズームナンバー)

答えて

4

最良の方法のわからない圧縮するこのしかし、この作品をより多くの時間を持っていたときに、マップisntanctから緯度/経度、ズーム、ヨー、ピッチを取得する方法をルックアップする必要があります。変更された詳細情報を取得するには:GoogleマップAPI v3での

GEvent.addListener(myPano, 'initialized', function(pano) { 
    alert("newlng: " + pano.latlng.lng() + ", newlat: " + pano.latlng.lat()); 
}); 

GEvent.addListener(myPano, 'yawchanged', function(newyaw){ 
    alert("yawchanged: " + newyaw); 
}); 

GEvent.addListener(myPano, 'pitchchanged', function(newpitch) { 
    alert("pitchchanged: " + newpitch); 
}); 

GEvent.addListener(myPano, 'zoomchanged', function(newzoom) { 
    alert("zoomchanged: " + newzoom); 
}); 
2

私は一般的に、ユーザーがマップを変更したときにマップの状態を取得するためのフックとして使用するのに、「moveend」が最適なイベントであることを発見しました。私は今日の午後に

// map is the instance of your GMap2 
GEvent.addListener(map, 'moveend', function() { 
    var center = map.getCenter(); 
    var zoom = map.getZoom(); 

    alert([center.lat(), center.lng(), zoom].join(',')); 
}); 
+0

はそれを行くを与えるという名前ロードさストリートビューのマップを持っていると仮定すると貢献 –

+0

に感謝それw getPOV()またはyawchanged(yaw:Number)、pitchchanged(pitch:Number)、zoomchanged(zoom:Number)のいずれかを出力するには、ストリートビューのmoveendと正確に等価なものが必要です。 –

2

...、あなたはすでに「パノラマ」

google.maps.event.addListener(panorama, "pov_changed", function() { 
    var panoInfo = panorama.getPov(); 
    var thePitch = panoInfo['pitch']; 
    var isHeading = panoInfo['heading']; 
    var theZoom = panoInfo['zoom']; 
});