2016-09-26 20 views
0

私はリーフレットを使ってポリゴンを描画、編集、削除するためにMapboxを使用しています。シェイプファイルを圧縮しているかもしれないし、ポリゴンを描画します。そこで、leaflet.shapefileを使ってシェイプファイルをアップロードし、マップに追加します。leaflet.shapefileを使ってアップロードしたシェイプファイルを編集する

リーフレット描画コントロールを使用してシェイプファイルを編集しようとすると、「i.editingが定義されていません」というエラーが表示されます。私はGeoJSONにレイヤーを変換してからfeatureGroupに追加してみましたが(後のコードのように)、効果があるかどうかを確認しましたが、そうしませんでした。

var layergeojson = layer.toGeoJSON(); 
featureGroup.addLayer(layergeojson); 

これは現在私が持っているもののjsfiddleです。私は、同様のケースを見るためにオンラインで研究を試みましたが、私は何かを見つけることができません。

リーフレットドローコントロールを使用してアップロードしたシェイプファイルを編集することはできますか?

答えて

2

var layergeojson = layer.toGeoJSON()を実行すると、layergeojsonにリーフレットレイヤーではなくプレーンなGeoJSONオブジェクトが含まれるようになりました。

したがって、featureGroup.addLayer(layergeojson)はエラーをスローする必要があります(ブラウザコンソールを開く)。代わりに、おそらく.addData()メソッドを使用する必要があります:featureGroup.addData(layergeojson)

はあなたの結果のレイヤを編集すると、これに関連するかもしれない:https://gis.stackexchange.com/questions/203540/how-to-edit-an-existing-layer-using-leaflet/203773#203773

+0

すごいです!それがまさに私が必要としていたものです。これは、レイヤーをWKT文字列(jsfiddleの一部ではない)に変換しようとしたときに、以前のセットアップで持っていた別の問題を修正するようにも見えます。どうもありがとう!! :) P.S:主な目的はシェープファイルを編集することだったのでGeoJSONに変換する必要はありませんでした。GeoJSONに変換することは、私が解決しようとしたさまざまな方法の1つでした。しかし、それは私が将来的に使うことができる良いディテールです。だからそれもありがとう。 – Raj

関連する問題