我有一些从 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、点/半径和多边形)。
有人可以给我一些建议吗?