2009年3月19日木曜日

OpenLayers 18b Shift+Drag で四角座標表示

Custom Control Example(custom-control.html) Shift+Drag で四角座標表示
を参考に座標表示させます。

OpenLayers 18a で追加したコードは削除してください。
次のコードを追加します。

---
// ここから追加
var control = new OpenLayers.Control();
OpenLayers.Util.extend(control, {
draw: function () {
// this Handler.Box will intercept the shift-mousedown
// before Control.MouseDefault gets to see it
this.box = new OpenLayers.Handler.Box(
control,
{"done": this.notice},
{keyMask: OpenLayers.Handler.MOD_SHIFT});
this.box.activate();
},

notice: function (bounds) {
var ll = map.getLonLatFromPixel(new OpenLayers.Pixel(bounds.left, bounds.bottom));
var ur = map.getLonLatFromPixel(new OpenLayers.Pixel(bounds.right, bounds.top));
alert(ll.lon.toFixed(4) + ", " +
ll.lat.toFixed(4) + ", " +
ur.lon.toFixed(4) + ", " +
ur.lat.toFixed(4));
}
});

map.addControl(control);
// ここまで

} // End of function init()

地図上を Shift + ドラッグ で座標がポップアップ表示されます。

0 件のコメント: