0

顧客の ArcGIS システムを使用して、ArcGIS Javascript API を使用してページにマップをレンダリングしようとしています。

表示される例でマップを定義するには、次のようにします。

map = new Map("map",{
          basemap: "topo",
          center: [-117.19,34.05], // lon, lat
          zoom: 13
        });

ただし、これは固定座標を示しています。

土地 ID を使用して顧客の内部システムで RESTAPI をヒットし、座標を返し、プロットできるようにしたいと考えています。

現在、私は土地から度分秒の緯度と経度を取得していますが、これらの値を文字列として取得し、度分秒に分割し、X、Y 値を取得するための計算を行うより簡単な方法があるかどうか疑問に思っていますこの関数にプロットしてマップを定義します。

基本的に、土地IDで指定された場所にマップをロードし、マップレイヤーをロードした後、すべてローカルシステムのRestAPIとJavascript APIを介してロードしようとしています。

ありがとう、

4

1 に答える 1

0

これは、マップの空間参照 (つまり、102100、4326 など) に関するものです。上記のスニペット コードを追加すると、ベースマップ (トポロジ) を含むマップが追加され、マップの中心が提供された座標になります。

ポイントをマップに追加したいが、ジオメトリの形式が異なる場合は、プロジェクト ジオメトリ操作を使用して変換できます。

require([
  "esri/tasks/ProjectParameters", ... 
], function(ProjectParameters, ... ) {
  var params = new ProjectParameters();
  params.geometries = [point];
  params.outSR = outSR;
  params.transformation = transformation;
  gsvc.project(params);
  ...
});

参考: https://developers.arcgis.com/javascript/jsapi/geometryservice-amd.html#project

度分秒を 10 進数/緯度経度に変換します。

function ConvertDegreeAngleToDecimal(degrees, minutes, seconds )
{
    //Decimal degrees = 
    //   whole number of degrees, 
    //   plus minutes divided by 60, 
    //   plus seconds divided by 3600

    return degrees + (minutes/60) + (seconds/3600);
}

これがあなたを助けることを願っています。

さらに説明が必要な場合はお知らせください。

于 2015-07-07T14:54:25.710 に答える