logo
Tutorials Examples naver map js api v3 네이버 지도 API 파노라마 이벤트 처리하기

파노라마 이벤트 처리하기

파노라마 이벤트 처리하기

파노라마의 이벤트를 이용하여 파노라마 객체의 속성을 살펴보는 예제입니다. 이 예제는 jQuery 구문을 포함하고 있습니다.

NAVER
    
Pano ID 
Title 
Address 
Photodate 
 
POV Pan 
POV Tilt 
POV Fov 
 
Zoom 
Min Zoom 
Max Zoom 
 
Scale 
Min Scale 
Max Scale 
 
Pano StatusERROR, 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();
});