ฉันต้องการแสดงภาพซ้อนทับเมื่อการเคลื่อนไหวของ Mapbox flyto กล้องเสร็จสิ้นการดำเนินการและอยู่ในตำแหน่งที่ถูกต้องและระดับการซูม มีวิธีทราบเมื่อการกระทำนั้นเสร็จสมบูรณ์หรือไม่?
ดังนั้นบินไปที่ตำแหน่งแล้วแสดงภาพซ้อนทับโดยพื้นฐาน
ฉันต้องการแสดงภาพซ้อนทับเมื่อการเคลื่อนไหวของ Mapbox flyto กล้องเสร็จสิ้นการดำเนินการและอยู่ในตำแหน่งที่ถูกต้องและระดับการซูม มีวิธีทราบเมื่อการกระทำนั้นเสร็จสมบูรณ์หรือไม่?
ดังนั้นบินไปที่ตำแหน่งแล้วแสดงภาพซ้อนทับโดยพื้นฐาน
คำตอบ:
คุณสามารถทำสิ่งนี้ได้โดยรวมผู้ฟังเหตุการณ์แผนที่สองสามคนกับตัวแปรดังนี้
เพื่อป้องกันไม่ให้คำแนะนำเครื่องมือเมื่อผู้ใช้ย้ายหรือซูมแผนที่ด้วยเมาส์หรือแป้นพิมพ์คุณจะต้องมีตัวแปรที่กำหนดว่าผู้ใช้ของคุณคลิกปุ่ม "บิน" หรือไม่:
map.on('flystart', function(){
flying = true;
});
map.on('flyend', function(){
flying = false;
});
จากนั้นโค้ดนี้จะทำงานเมื่อแผนที่ของคุณหยุดเคลื่อนที่และซูม:
map.on('moveend', function(e){
if(flying){
// tooltip or overlay here
map.fire(flyend);
}
});
ดูตัวอย่าง: http://jsfiddle.net/ft7s8son/