HTML 페이지에지도가 포함되어 있고 사용자가 마우스 휠을 사용하여 페이지를 아래로 스크롤하면 사용자의 마우스가지도를 지나갈 때지도 자체가 이동하는 동안 페이지 스크롤이 중지됩니다. Demo1을 참조하십시오 .
ArcGIS Server JS API 3.x를 사용하는 Google지도에 대한 간단한 사용성 요령에 설명 된 동작을 에뮬레이션하고 싶습니다 .
즉, 사용자가지도 내에서 명시 적으로 드래그하지 않으면 페이지가 스크롤되어야하며 ,이 경우 지도가 이동해야합니다 .
이 동작은 Demo2에 거의 있으며 , 마우스가지도 위에 있어도 페이지가 스크롤됩니다.
map.on("load", function(){
// Disable navigation by default, so scrolling the page doesn't scroll the map
map.disableMapNavigation();
// When the user tries to pan the map, allow this
map.on('mouse-drag-start', function(){
map.enableMapNavigation();
});
// Restore the no-scroll behaviour when the mouse leaves the map
map.on('mouse-out', function(){
map.disableMapNavigation();
});
});
그러나 먼저 맵 내에서 한 번 클릭하고 마우스 단추를 놓은 다음 이동하지 않으면 맵 이동이 활성화되지 않습니다. 블로그 게시물에서 Google지도로 표시되는 완벽한 효과를 얻을 수 있습니까?
mouse-drag
, mouse-drag-start
및 mouse-down
이벤트를 시도 했지만 동작은 모든 이벤트에서 동일합니다.
enableMapNavigation
다시 호출 한 직후에 시도 할 수 있습니다mouse-drag-start
. 이벤트를 생성하는 dojo 클래스로 dojotoolkit.org/reference-guide/1.10/dojo/Evented.html 을 찾았 습니다 . 따라서 동일한 기능에서지도에서 드래그 (또는 클릭)->지도 탐색 사용-> 드래그 이벤트를 호출합니다 (단지 호출하거나 매개 변수가 필요할 수 있음)-> 비즈니스 드래그를 수행하십시오. 마우스를 아래로 집어 들고 끌 수 있습니다. 이러한 이벤트를 다른 순서로 시도해 보는 조합 일 수도 있습니다.