谷歌地图拖动阈值
Google map drag threshold
Javascript映射API是否支持拖动阈值
比方说,我想拖动结束事件,只有当拖动的区域超过当前可见区域的10%时才会触发。
注册dragstart
事件,记录左上角和右下角map
的latLng
。使用它们来计算100%的可见高度和宽度,然后使用该值来获得10%的可视高度和宽度。
寄存器dragend
,记录左上角和右下角map
的新latLng
。将新的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!');
}
});
演示:http://jsfiddle.net/4mtyu/688/
相关文章:
- 如何在拖动后获得图表的最小值和最大值放大高图表
- 如何在拖动行时更新输入值
- 查询UI可拖动值检查
- 如何在javascript中基于谷歌地图上的位置拖动来更改值
- 当输入[范围]值更改/拇指拖动时触发功能
- 通过可拖动的 SVG 形状设置 HTML 输入值 ?(或画布)
- 流星“变化”值在释放鼠标时出现,而不是在拖动输入滑块时出现
- 通过单击并拖动来更新 HTML 输入字段的值(类似于 unity3d 界面)
- JQuery UI滑块拖动到100时显示错误的值(显示0)
- 在行拖动事件后更新多行图的域值
- 继续拖动事件,而不拖动超过任意阈值的元素
- 如何使用父项的右值和底值来限制可拖动的子项
- 谷歌折线图:拖动以调整值
- 如何使用jQuery UI可拖动设置表单中的值
- 当我拖动一个DIV时,如何传递一个id的值给一个函数
- 从可拖动元素中获取ID值
- 谷歌地图拖动阈值
- 如何获得可拖动值多次
- 试图索引数组X &D3拖动的Y值
- 听点击和拖动值和相应的功能