0
考慮這個example。如何在moveend事件處理程序中調整地圖位置時防止移動事件?
如果在地圖完成移動時中心圓包含標記,則我平移地圖以便標記位置是地圖的中心。
function mapMoveEnd(e) {
map.off('moveend', mapMoveEnd);
map.panTo(somewhere);
map.on('moveend', mapMoveEnd);
}
map.on('moveend', mapMoveEnd);
儘管在平移之前調用map.off('moveend'),但事件處理函數被調用。
這是一個錯誤還是我做錯了什麼?
編輯:下面的評論幫助我發現,這是由於panTo()被動畫。
因爲JS是.off執行完畢後,嘗試對啞劇 –
超時@AlexParij我還以爲確切之前異步啞劇可能被稱爲相反的異步原因:'.on'在'.panTo'完成之前執行,因此''moveend''監聽器已經重新連接? – ghybs
感謝您讓我走上正軌。 @ghybs是正確的,panTo()結束後(動畫:假解決了我的PB,但看起來不太好) – YaFred