OpenLayers v3で機能の場所を取得する方法


11

描画インタラクションまたは変更インタラクションを使用した後、変更または追加された機能を返すリスナーがあります。

draw.on('drawend', function (event) {
    // get the feature
    var feature = event.element;
    // ...listen for changes on it
    logStatus(feature.getId());
});

IDを取得する方法は知っていますが、DBに保存する必要があるため、機能の場所(緯度経度)が必要です。どうすればできますか?APIで見つかりませんでした。

回答:


27

機能がポイントの場合

var coord = event.feature.getGeometry().getCoordinates();

ポイントジオメトリの場合getCoordinates、2つの数値の配列を返します。最初の数字はx座標です。2番目の数値はy座標です。

またcoord、経度と緯度に変換する場合は、次を使用します。

coord = ol.proj.transform(coord, 'EPSG:3857', 'EPSG:4326');
var lon = coord[0];
var lat = coord[1];

上記では、マップビューの投影がWebメルカトル(EPSG:3857)であると想定しています。これがデフォルトです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.