로드뷰는 상관없는데 2D 지도는 폰에서 손가락으로 올려도 지도가 안움지기게 하고싶은데
뭘 건드려야지 안움직일 까요...
Copy
var mapWrapper = document.getElementById('mapWrapper'); //지도를 감싸고 있는 DIV태그var mapContainer = document.getElementById('map'), // 지도를 표시할 div mapCenter = new daum.maps.LatLng(35.1152427,129.0404083), // 지도의 가운데 좌표 mapOption = { center: mapCenter, // 지도의 중심좌표 level: 3 // 지도의 확대 레벨 };// 지도를 표시할 div와 지도 옵션으로 지도를 생성합니다var map = new daum.maps.Map(mapContainer, mapOption);map.addOverlayMapTypeId(daum.maps.MapTypeId.ROADVIEW); //지도 위에 로드뷰 도로 올리기var rvContainer = document.getElementById('roadview'); //로드뷰를 표시할 divvar rv = new daum.maps.Roadview(rvContainer); //로드뷰 객체var rvClient = new daum.maps.RoadviewClient(); //좌표로부터 로드뷰 파노ID를 가져올 로드뷰 helper객체toggleRoadview(mapCenter);// 마커 이미지를 생성합니다.var markImage = new daum.maps.MarkerImage( 'http://t1.daumcdn.net/localimg/localimages/07/mapapidoc/roadview_wk.png', new daum.maps.Size(35,39), { //마커의 좌표에 해당하는 이미지의 위치를 설정합니다. //이미지의 모양에 따라 값은 다를 수 있으나, 보통 width/2, height를 주면 좌표에 이미지의 하단 중앙이 올라가게 됩니다. });// 드래그가 가능한 마커를 생성합니다.var rvMarker = new daum.maps.Marker({ image : markImage, position: mapCenter, draggable: true, map: map});//마커에 dragend 이벤트를 할당합니다daum.maps.event.addListener(rvMarker, 'dragend', function(mouseEvent) { var position = rvMarker.getPosition(); //현재 마커가 놓인 자리의 좌표 toggleRoadview(position); //로드뷰를 토글합니다});//지도에 클릭 이벤트를 할당합니다daum.maps.event.addListener(map, 'click', function(mouseEvent){ // 현재 클릭한 부분의 좌표를 리턴 var position = mouseEvent.latLng; rvMarker.setPosition(position); toggleRoadview(position); //로드뷰를 토글합니다});//로드뷰 toggle함수function toggleRoadview(position){ //전달받은 좌표(position)에 가까운 로드뷰의 panoId를 추출하여 로드뷰를 띄웁니다 rvClient.getNearestPanoId(position, 50, function(panoId) { if (panoId === null) { rvContainer.style.display = 'none'; //로드뷰를 넣은 컨테이너를 숨깁니다 mapWrapper.style.width = '100%'; map.relayout(); } else { mapWrapper.style.width = '100%'; map.relayout(); //지도를 감싸고 있는 영역이 변경됨에 따라, 지도를 재배열합니다 rvContainer.style.display = 'block'; //로드뷰를 넣은 컨테이너를 보이게합니다 rv.setPanoId(panoId, position); //panoId를 통한 로드뷰 실행 rv.relayout(); //로드뷰를 감싸고 있는 영역이 변경됨에 따라, 로드뷰를 재배열합니다 } });}</script>
답변 1개
채택된 답변
+20 포인트
naulab
2017-09-11 (월) 14:07:42
Copy
map.setDraggable(draggable);
이용하시면 될거같습니다
답변을 작성하려면 로그인이 필요합니다.