OpenLayersを使用して、プログラムで対象のボックスを作成しています。私はこのコードを使用しています:
var control = new OpenLayers.Control();
OpenLayers.Util.extend(control, {
draw: function () {
this.box = new OpenLayers.Handler.Box( control,
{"done": this.notice},
{keyMask: OpenLayers.Handler.MOD_SHIFT});
this.box.activate();
},
notice: function (bounds) {
areaSelected(bounds);
}
});
map.addControl(control);
「Shift Create a Box」コントロールをキャプチャし、関心のある領域として選択された領域を使用します。ただし、値はピクセルとして返されます。しかし、ピクセルではなく、Longitude と Latitudeが必要です。マウス位置コントロールは正しい経度と緯度を表示します。ボックスの作成方法は本当に気にしません。ユーザーがマップのエリアを簡単に選択できるようにしたいだけで、そのエリアの緯度と経度を取得する必要があります。(ボックス、サークルは関係ありません)