파노라마 이벤트 처리하기
파노라마 이벤트 처리하기
파노라마의 이벤트를 이용하여 파노라마 객체의 속성을 살펴보는 예제입니다. 이 예제는 jQuery 구문을 포함하고 있습니다.
Pano ID | |
Title | |
Address | |
Photodate | |
POV Pan | |
POV Tilt | |
POV Fov | |
Zoom | |
Min Zoom | |
Max Zoom | |
Scale | |
Min Scale | |
Max Scale | |
Pano Status | ERROR, null |
var pano = null;
function initPanorama() {
pano = new naver.maps.Panorama("pano", {
position: new naver.maps.LatLng(37.3599605, 127.1058814),
pov: {
pan: -135,
tilt: 29,
fov: 100
},
minScale: 0, // default: 0
maxScale: 5 // default: 10
});
naver.maps.Event.addListener(pano, "init", function() {
pano.setVisible(true);
});
naver.maps.Event.addListener(pano, "pano_status", function(status) {
$("#pano_status_cell").text(status + ", " + pano.getPanoId());
if (status != naver.maps.PanoramaStatus.OK) {
alert("error");
}
});
naver.maps.Event.addListener(pano, "pano_changed", function() {
$("#id_cell").text(pano.getPanoId());
$("#title_cell").text(pano.getLocation().title);
$("#address_cell").text(pano.getLocation().address);
$("#photodate_cell").text(pano.getLocation().photodate);
console.log('Position: ' + pano.getPosition());
});
naver.maps.Event.addListener(pano, "pov_changed", function() {
$("#pan_cell").text(pano.getPov().pan);
$("#tilt_cell").text(pano.getPov().tilt);
$("#fov_cell").text(pano.getPov().fov);
$("#zoom_cell").text(pano.getZoom());
$("#min_zoom_cell").text(pano.getMinZoom());
$("#max_zoom_cell").text(pano.getMaxZoom());
$("#scale_cell").text(pano.getScale());
$("#min_scale_cell").text(pano.getMinScale());
$("#max_scale_cell").text(pano.getMaxScale());
updateZoomState();
});
}
naver.maps.onJSContentLoaded = initPanorama;
function updateZoomState() {
var disabledZoomIn = (pano.getScale() === pano.getMaxScale());
var disabledZoomOut = (pano.getScale() === pano.getMinScale());
var zoomIn = $("#zoomIn"),
zoomOut = $("#zoomOut");
if (disabledZoomIn) {
zoomIn.removeClass("control-on");
} else {
zoomIn.addClass("control-on");
}
if (disabledZoomOut) {
zoomOut.removeClass("control-on");
} else {
zoomOut.addClass("control-on");
}
}
$("#zoomIn").on("click", function(e) {
e.preventDefault();
pano.zoomIn();
});
$("#zoomOut").on("click", function(e) {
e.preventDefault();
pano.zoomOut();
});