1

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が必要です。マウス位置コントロールは正しい経度と緯度を表示します。ボックスの作成方法は本当に気にしません。ユーザーがマップのエリアを簡単に選択できるようにしたいだけで、そのエリアの緯度と経度を取得する必要があります。(ボックス、サークルは関係ありません)

4

2 に答える 2

0

チェックアウト: http://garmin.na1400.info/routable.php

「タイル選択を有効にする」を設定するチェックボックスがあります。

マップ上でボックスをドラッグすると、下にあるオブジェクトが選択されます。

ソースコードを再利用できます。すべての魔法が入っています: http://garmin.na1400.info/routable.js

于 2009-07-23T16:44:13.170 に答える