-1
Javascript地圖API是否支持拖動的閾值?
假設我想拖動結束事件,只有當拖動區域大於當前可見區域的10%時纔會觸發結束事件。谷歌地圖拖動門限
Javascript地圖API是否支持拖動的閾值?
假設我想拖動結束事件,只有當拖動區域大於當前可見區域的10%時纔會觸發結束事件。谷歌地圖拖動門限
註冊dragstart
事件和記錄latLng
的左上角和右下角map
角落。使用它們計算可見高度和寬度的100%,然後使用該值獲得可見高度和寬度的10%。
註冊dragend
並記錄新的latLng
左上角和右下角map
角落。從舊的中抽取新的lat
和lng
,看看你移動了多少。
比較此舉〜10%的值:
var latUp;
var lngUp;
var latDown;
var lngDown;
google.maps.event.addListener(map, "dragstart", function() {
latUp = map.getBounds().getNorthEast().lat();
lngUp = map.getBounds().getNorthEast().lng();
latDown = map.getBounds().getSouthWest().lat();
lngDown = map.getBounds().getSouthWest().lng();
});
google.maps.event.addListener(map, "dragend", function() {
var latUpNew = map.getBounds().getNorthEast().lat();
var lngUpNew = map.getBounds().getNorthEast().lng();
var latDownNew = map.getBounds().getSouthWest().lat();
var lngDownNew = map.getBounds().getSouthWest().lng();
var tenPercentLat = Math.abs(latUp - latDown)/10;
var tenPercentLng = Math.abs(lngUp - lngDown)/10;
var moveLat = Math.abs(latUp - latUpNew);
var moveLng = Math.abs(lngUp - lngUpNew);
if (tenPercentLat < moveLat || tenPercentLng < moveLng){
console.log('greather than 10 percent move!');
}
else{
console.log('less than 10 percent move!');
}
});