2016-09-06 6 views
0

次のURLの選択領域をgeojsonに変換し、管理情報(州、国など)を取得しようとしています。 )空間クエリの結果をgeoJsonに変換したり、管理情報(州、国など)を取得しています

https://esri.github.io/esri-leaflet/examples/spatial-queries.html

これは私がオンラインで見つけるのコード例です。

 var feature = L.esri.Util.arcgisToGeoJSON(neighborhoods[i], ids[i]); 
    var latlng = L.Projection.Mercator.unproject(L.point(feature.geometry.coordinates)); 
        feature.geometry.coordinates = [latlng.lng, latlng.lat]; 

助けてください!

答えて

1

GeoJSONであるため、クライアントのesriリーフレットの機能をGeoJSONに変換する必要はありません。

あなたが参照したサンプルの唯一の問題は、個々のフィーチャを選択するクエリがids()メソッドをチェーンすることです。そのため、(GeoJSONの未加工フィーチャではなく)検索基準に一致するフィーチャに対して識別子のみが要求されます。すでに1度描かれています。

for (var i = ids.length - 1; i >= 0; i--) { 
    neighborhoods.setFeatureStyle(ids[i], { color: 'red', weight: 2 }); 
    /* retrieve an individual GeoJSON feature via its ID 
    using L.esri.featureLayer.getFeature() */ 
    var selectedNeighborhood = neighborhoods.getFeature(ids[i]); 
    console.log(selectedNeighborhood.feature); 
}; 
+0

フィーチャレイヤを作成せずにクエリを実行できますか?どの管理部門が選択ポリゴンの中にあるのかを知りたい。私の目的は、ユーザーが地図上でランダムに地域を選択し、その選択から行政部門(州、地域、郡、村など)を「見つける」ことができるようにすることです。管理レイヤからフィーチャレイヤを自動的に作成できますか? – codejunkie

+1

esriサービスがある場合は、L.esri.featureLayerのインスタンス化をスキップして、代わりにL.esri.query()を使用してGeoJSONを取得することができます。 http://esri.github.io/esri-leaflet/api-reference/tasks/query.html –

+0

この例を教えてください。私は初心者です。 – codejunkie

関連する問題