マップ上にいくつかの異なるタイプのジオメトリを描画するために、openlayers の例の 1 つからコピーしたいくつかの単純なコードがあります。問題は、「ポイント」ジオメトリが選択されるたびに、ダブルクリックしてズームインする機能を失うことです。例と私のコードの唯一の違いは、保持したいので、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、ポイント/半径、およびポリゴン) で正常に機能します。
誰かアドバイスをくれませんか?