3

私はここに来たばかりで、ArcGIS JavaScript API を約 2 週間使用しています。

私はこの例に従いました:

http://help.arcgis.com/en/webapi/javascript/arcgis/jssamples/#sample/graphics_add

そして、地図上にフリーハンドのポリラインを描くことができました。次に、そのポリライン上のすべての点の座標を計算する必要があります。私は約5日間それをやろうとしてきましたが、それを行う方法がわかりません. 詳しいやり方を教えていただければ幸いです(経験があまりないので)。

前もって感謝します、

ディエゴ。

4

1 に答える 1

3

geometryイベント onDrawEnd から取得したオブジェクトを検査する必要があります。このイベントは、例では既にフックされています。

dojo.connect(tb, "onDrawEnd", addGraphic);

ただし、基本的なシンボルを使用してラインをマップに追加するだけです。最初のトラップは、ジオメトリ オブジェクトが実際には型geometryではないということです。これは、実際には存在しない抽象基本クラスです。タイプは、シェイプを描画するために使用していたツールによって異なります。あなたの場合は、 type のように聞こえますPolyline

この Polyline オブジェクトにpathsは、ネストされたパス (線) の配列である プロパティ があり、それぞれに点の配列が含まれています。したがって、Polyline オブジェクト内のすべてのパスのすべてのポイントを取得したい場合:

function addGraphic(geo) {
    //For each path...
    for ( var path = 0; path < geo.paths.length; path ++ ) {
        //For each point in the path...
        for ( var pt = 0; pt < geo.paths[path].length; pt++ ) {
            //Do something with each point in here...
            //X coordinate: geo.paths[path][pt][0]
            //Y coordinate: geo.paths[path][pt][1]
        }
    }
}

geometry実際の座標を含むプロパティは Polyline、Polygon、Point などで異なるため、実際にPolyline があるかどうか、または から継承する他のオブジェクトがあるかどうかなど、さらにいくつかのチェックを行う必要があるでしょう。

于 2013-01-21T02:25:06.873 に答える