Google Street View에서 LAT/LNG/ZOOM/YAW/피치 받기
-
06-09-2019 - |
문제
제공된 LAT/LNG 좌표, 줌, 요 및 피치를 기반으로 Google지도와 거리보기가 있습니다. 세부 사항이 기본값에서 변경되거나 버튼을 클릭 할 때마다 각 값에 대한 숨겨진 필드를 업데이트하려면 JavaScript를 호출해야합니다.
따라서지도/스트리트 뷰가 확대, 패닝, 기울어 진 등의 경우 새 세부 사항을 출력합니다.
functions getPov (), YawChanged (Yaw : 숫자), PitchChanged (피치 : 숫자) 및 ZoomChanged (Zoom : Number)를 호출하는 방법 (지도의 이동과 유사)
해결책
이것을 압축하는 가장 좋은 방법은 확실하지 않지만 변경된 세부 사항을 얻는 데 효과적입니다.
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);
});
다른 팁
일반적으로 "MoveEnd"는 사용자가 변경할 때 맵의 상태를 얻기 위해 고리로 사용하기에 가장 적합한 이벤트라는 것을 알았습니다. 오늘 오후에 더 많은 시간을 보낼 때 LAT/LNG, ZOOM, YAW 및 PITCH ISNTANCT를 얻는 방법을 찾아야합니다.
// 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(','));
});
Google Maps의 경우 API V3 ... "Panorama"라는 StreetView지도가 이미 있다고 가정합니다.
google.maps.event.addListener(panorama, "pov_changed", function() {
var panoInfo = panorama.getPov();
var thePitch = panoInfo['pitch'];
var isHeading = panoInfo['heading'];
var theZoom = panoInfo['zoom'];
});
제휴하지 않습니다 StackOverflow