เมื่อหน้า HTML มีแผนที่และผู้ใช้เลื่อนหน้าลงโดยใช้ล้อเลื่อนของเมาส์เมื่อเมาส์ของผู้ใช้ผ่านแผนที่หน้าจะหยุดเลื่อนในขณะที่แผนที่จะเลื่อน ดูDemo1
ฉันต้องการเลียนแบบพฤติกรรมโดยละเอียดที่เคล็ดลับการใช้งานง่ายสำหรับ Google Mapsโดยใช้ ArcGIS Server JS API 3.x
นั่นคือหน้าควรเลื่อนเว้นแต่ผู้ใช้อย่างชัดเจนลากภายในแผนที่ซึ่งในกรณีแผนที่ควรเลื่อน
พฤติกรรมนี้ใกล้เคียงกับใน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
จะทันทีหลังจาก reinvokemouse-drag-start
เหตุการณ์ ฉันพบdojotoolkit.org/reference-guide/1.10/dojo/Evented.htmlเป็นคลาส dojo เพื่อส่งเหตุการณ์ ดังนั้นคุณจะลาก (หรือคลิก) บนแผนที่ -> เปิดใช้งานการนำทางแผนที่ -> ในฟังก์ชั่นเดียวกันทำให้เกิดเหตุการณ์ลาก (อาจจะสามารถเรียกใช้หรืออาจต้องใช้พารามิเตอร์) -> ไปเกี่ยวกับการลากธุรกิจของคุณ มันอาจสามารถยกเมาส์ขึ้นแล้วลากไปด้วยก็ได้ ก็อาจจะมีคำสั่งผสมของการพยายามที่เหตุการณ์เหล่านั้นออกมาในการสั่งซื้อที่แตกต่างกัน ฯลฯ