테스트 사이트 - 개발 중인 베타 버전입니다

지도 고정하기 채택완료

zkdlf 8년 전 조회 2,214

로드뷰는 상관없는데 2D 지도는 폰에서 손가락으로 올려도 지도가 안움지기게 하고싶은데 

뭘 건드려야지 안움직일 까요...

</p><p>var mapWrapper = document.getElementById('mapWrapper'); //지도를 감싸고 있는 DIV태그</p><p>
</p><p>var mapContainer = document.getElementById('map'), // 지도를 표시할 div </p><p>    mapCenter = new daum.maps.LatLng(35.1152427,129.0404083), // 지도의 가운데 좌표</p><p>    mapOption = {</p><p>        center: mapCenter, // 지도의 중심좌표</p><p>        level: 3 // 지도의 확대 레벨</p><p>    };</p><p>
</p><p>// 지도를 표시할 div와  지도 옵션으로  지도를 생성합니다</p><p>var map = new daum.maps.Map(mapContainer, mapOption);</p><p>map.addOverlayMapTypeId(daum.maps.MapTypeId.ROADVIEW); //지도 위에 로드뷰 도로 올리기</p><p>
</p><p>var rvContainer = document.getElementById('roadview'); //로드뷰를 표시할 div</p><p>var rv = new daum.maps.Roadview(rvContainer); //로드뷰 객체</p><p>var rvClient = new daum.maps.RoadviewClient(); //좌표로부터 로드뷰 파노ID를 가져올 로드뷰 helper객체</p><p>
</p><p>toggleRoadview(mapCenter);</p><p>
</p><p>// 마커 이미지를 생성합니다.</p><p>var markImage = new daum.maps.MarkerImage(</p><p>        '<a href="<a href="http://t1.daumcdn.net/localimg/localimages/07/mapapidoc/roadview_wk.png" target="_blank" rel="noopener noreferrer">http://t1.daumcdn.net/localimg/localimages/07/mapapidoc/roadview_wk.png</a>"><a href="http://t1.daumcdn.net/localimg/localimages/07/mapapidoc/roadview_wk.png" target="_blank" rel="noopener noreferrer">http://t1.daumcdn.net/localimg/localimages/07/mapapidoc/roadview_wk.png</a></a>',</p><p>        new daum.maps.Size(35,39),</p><p>        {</p><p>            //마커의 좌표에 해당하는 이미지의 위치를 설정합니다.</p><p>            //이미지의 모양에 따라 값은 다를 수 있으나, 보통 width/2, height를 주면 좌표에 이미지의 하단 중앙이 올라가게 됩니다.</p><p>           </p><p>        }</p><p>);</p><p>
</p><p>// 드래그가 가능한 마커를 생성합니다.</p><p>var rvMarker = new daum.maps.Marker({</p><p>    image : markImage,</p><p>    position: mapCenter,</p><p>    draggable: true,</p><p>    map: map</p><p>});</p><p>
</p><p>//마커에 dragend 이벤트를 할당합니다</p><p>daum.maps.event.addListener(rvMarker, 'dragend', function(mouseEvent) {</p><p>    var position = rvMarker.getPosition(); //현재 마커가 놓인 자리의 좌표</p><p>    toggleRoadview(position); //로드뷰를 토글합니다</p><p>});</p><p>
</p><p>//지도에 클릭 이벤트를 할당합니다</p><p>daum.maps.event.addListener(map, 'click', function(mouseEvent){</p><p>    </p><p>    // 현재 클릭한 부분의 좌표를 리턴 </p><p>    var position = mouseEvent.latLng; </p><p>
</p><p>    rvMarker.setPosition(position);</p><p>    toggleRoadview(position); //로드뷰를 토글합니다</p><p>});</p><p>
</p><p>//로드뷰 toggle함수</p><p>function toggleRoadview(position){</p><p>
</p><p>    //전달받은 좌표(position)에 가까운 로드뷰의 panoId를 추출하여 로드뷰를 띄웁니다</p><p>    rvClient.getNearestPanoId(position, 50, function(panoId) {</p><p>        if (panoId === null) {</p><p>            rvContainer.style.display = 'none'; //로드뷰를 넣은 컨테이너를 숨깁니다</p><p>            mapWrapper.style.width = '100%';</p><p>            map.relayout();</p><p>        } else {</p><p>            mapWrapper.style.width = '100%';</p><p>            map.relayout(); //지도를 감싸고 있는 영역이 변경됨에 따라, 지도를 재배열합니다</p><p>            rvContainer.style.display = 'block'; //로드뷰를 넣은 컨테이너를 보이게합니다</p><p>            rv.setPanoId(panoId, position); //panoId를 통한 로드뷰 실행</p><p>            rv.relayout(); //로드뷰를 감싸고 있는 영역이 변경됨에 따라, 로드뷰를 재배열합니다</p><p>        }</p><p>    });</p><p>}</p><p></script></p><p>

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
n
8년 전

</p><p>map.setDraggable(draggable);</p><p>

이용하시면 될거같습니다

http://apis.map.daum.net/web/sample/disableMapDragMove/">http://apis.map.daum.net/web/sample/disableMapDragMove/

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인