examples フォルダにある「OpenLayers Undo/Redo Drawing Methods(draw-undo-redo.html)」を参考に マウスで移動してみます。
「ol014-nippon_bmi_akiruno_pgis.html」 ファイルを続けて使います。
a メニューの「ファイル」->「開く」をクリックします。
b 「ファイルを開く」ウィンドウで、「OpenLayers-2.13.1」->「examples」->「draw-undo-redo.html」をクリックして選択し、「OK」ボタンをクリックします。
同じように「draw-undo-redo.js」を開きます。
c 次のように「draw-undo-redo.js」の内容の一部をコピーして「ol014-nippon_bmi_akiruno_pgis.html」に貼り付け、修正します。
---
// ここから追加
OpenLayers.Event.observe(document, "keydown", function(evt) {
var handled = false;
switch (evt.keyCode) {
case 90: // z
if (evt.metaKey || evt.ctrlKey) {
// draw.undo();
drawControls.polygon.undo(); // "draw" を "drawControls.polygon" に修正
handled = true;
}
break;
case 89: // y
if (evt.metaKey || evt.ctrlKey) {
// draw.redo();
drawControls.polygon.redo(); // "draw" を "drawControls.polygon" に修正
handled = true;
}
break;
case 27: // esc // draw.cancel(); drawControls.polygon.cancel(); // "draw" を "drawControls.polygon" に修正 handled = true; break; }
if (handled) {
OpenLayers.Event.stop(evt);
}
});
// ここまで
</script> </head>---
3回クリックしたところで
「Ctrl + z」(Macは「⌘ + z」)キーを押すと、直前の点がキャンセルされる。
「Ctrl + y」(Macは「⌘ + y」)キーを押すと、キャンセルさた点が元に戻る。
「esc」キーを押すと、描画途中のフィーチャがすべて消える。
「33 - マウスでフィーチャを描画」参考 HTML ファイル
ol014-nippon_bmi_akiruno_pgis.html








0 件のコメント:
コメントを投稿