0

線の緯度と経度を次のように取得しています

LINESTRING(1491215.4689647 6893983.2031826,1494163.0718675 6894785.7919795)

この解決策を見た後。 OpenLayers.Control.DrawFeature からポイントを取得する方法

今私がやりたいことは、Webページに開始点と終了点を表示したいということです。では、ここから緯度と経度を抽出して、自分のページに表示するにはどうすればよいですか。

4

2 に答える 2

0

それがWKT形式です。同じ投影法にない場合は、これらの座標をターゲット投影法に再投影する必要がある可能性があります。その後、基本ジオメトリを機能的に使用して、任意のジオメトリのポイントをOpenLayersに要求できるようになります。linestringインスタンスからポイント配列を取得し、それを繰り返し処理します。投影/データモデルの正しい座標順序を知っていることを確認してください。

お役に立てば幸いです。

于 2013-02-28T11:08:53.603 に答える
0

線ストリングが既に OpenLayers にある場合、それを WKT に変換する理由はありません。Linestring ジオメトリには、ポイントの配列が含まれています。ジオメトリのコンポーネントには、いくつかの方法でアクセスできます。次に例を示します。

drawControls[key].events.register('featureadded', drawControls[key], function(f) {

    // First point
    var firstPointGeom = f.feature.geometry.components[0].clone();

    // Last point
    var secondPointGeom = f.feature.geometry.components[f.feature.geometry.components.length - 1].clone();

    // Now you got geometries, let's create features from them...
    var firstPointFeat = new OpenLayers.Feature.Vector(firstPointGeom);
    var secondPointGeom = new OpenLayers.Feature.Vector(secondPointGeom);

    yourVectorLayer.addFeatures([firstPointFeat, secondPointGeom]);

});

注意してください - これは LineString で機能します。おそらく について詳しく説明する必要はありませんclone()。それが必要かどうか、または単にvar firstPointGeom = f.feature.geometry.components[0];

于 2013-02-28T14:19:54.177 に答える