带点的OpenLayers DrawFeature控件破坏双击缩放
OpenLayers DrawFeature control with Point destroys double click to zoom
我从一个openlayers示例中复制了一些简单的代码,用于在地图上绘制几种不同类型的几何图形。问题是,每当选择"点"几何形状时,我就无法双击放大。示例和我的代码之间的唯一区别是我正在注册处理程序以使用MOD_SHIFT,因为我想保留平移/缩放的能力。下面是一段代码:
point: new OpenLayers.Control.DrawFeature(this.geometryFilterLayer,
OpenLayers.Handler.Point,
{
'done': console.info("drew point")
},
{
keyMask: OpenLayers.Handler.MOD_SHIFT
}
),
polygon: new OpenLayers.Control.DrawFeature(this.geometryFilterLayer,
OpenLayers.Handler.Polygon,
{
'done': console.info("drew polygon")
},
{
keyMask: OpenLayers.Handler.MOD_SHIFT
}
),
上面代码的有趣之处在于,'done'事件只在控件/处理程序创建时触发,而keyMask根本不起作用——我必须循环遍历该对象并每次手动设置keyMask,但这不是手头的真正问题。
我已经尝试了我能想到的所有方法来注册一个dblclick事件,但无论如何,当我双击时,我不能让它放大。它适用于所有其他几何形状(bbox, point/radius和polygon)。
谁能给我一些建议?我从未解决过这个问题,但最终完全放弃了使用MOD_XXX。当你按住shift、ctrl、alt等键时,每个不同的绘制控件都有太多的内置功能。我最终使用自定义按钮和工具栏,这样用户就可以显式地选择自己的绘图控件。
this.toolbar = new OpenLayers.Control.Panel({
displayClass: 'olControlEditingToolbar'
});
map.addControl(this.toolbar);
var navButton = new OpenLayers.Control.Button({
displayClass: "olControlNavigation",
title: "Navigation",
trigger: lang.hitch(this, function(data){
this.toggleDrawControl("navigation");
navButton.activate();
pointButton.deactivate();
bboxButton.deactivate();
pointRadiusButton.deactivate();
polygonButton.deactivate();
})
});
...
this.toolbar.addControls([navButton, pointButton, bboxButton, pointRadiusButton, polygonButton]);
和我的切换绘制控件的函数(可以在外部调用,所以这就是为什么我重新调用激活和停用函数:
toggleDrawControl: function(geometryType){
this.currentGeometryType = geometryType;
for(key in this.drawControls) {
var control = this.drawControls[key];
if(geometryType == key) {
control.activate();
this.drawingButtons[key].activate();
} else {
control.deactivate();
this.drawingButtons[key].deactivate();
}
}
}
相关文章:
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 当涉及css缩放时,如何获得页面上的点击位置
- svg.js/svg平移缩放-双击交互
- 如何避免在android 2.3.6库存浏览器上滑动滚动和双击缩放
- 双击缩放和锤击.js问题
- 当适合设备的绝对视图在移动设备中向右移动几个像素时,我如何防止双击缩放
- 平滑点击缩放I/O三个JS的过渡
- 谷歌地图标记双击缩放地图
- 实现d3点击缩放
- 带点的OpenLayers DrawFeature控件破坏双击缩放
- Safari iPad 1:如何在双击时禁用缩放/居中,但保持缩放
- iPhone和iPad上的Safari在缩放时崩溃(双击和按压)
- 在Windows Phone上禁用双击缩放
- 使移动图像全屏点击缩放
- 双击时,leaflet.js wms层缩放不起作用
- Jackmoore Zoom 1.7.15:切换缩放触摸设备与双击
- 这里映射了如何在双击时禁用缩放
- 如何结合D3's内置缩放以及点击缩放可缩放冰柱
- markerClusterer上点击缩放
- 为什么缩放只在我第一次双击时起作用?