データベースに格納されているポリゴンがたくさんあります。 leaflet-drawツールバーを使用して編集できるようにマップに追加したいと思います。ポリゴンはマップに追加されるようになりましたが、編集することはできません。既存のリーフレットポリゴンを既存のリーフレットレイヤーに追加
これは、新しく描いた図形が追加されたlayerGroup()
に追加されていないためだと思います。
助けてください。
データベースに格納されているポリゴンがたくさんあります。 leaflet-drawツールバーを使用して編集できるようにマップに追加したいと思います。ポリゴンはマップに追加されるようになりましたが、編集することはできません。既存のリーフレットポリゴンを既存のリーフレットレイヤーに追加
これは、新しく描いた図形が追加されたlayerGroup()
に追加されていないためだと思います。
助けてください。
ポリゴンをdrawnItemsフィーチャグループに追加する必要があります。たとえば、var polyLayers = dbArray;
がポリゴンを持つデータベース配列であるとしましょう。まず、描画されたアイテム(例えば、var drawnItems = new L.FeatureGroup();
ans)にフィーチャーグループを作成し、マップに追加します(map.addLayer(drawnItems);
)。次に、あなたのデータベースのポリゴンを反復処理し、drawenItems FeatureGroupにそれらを追加することができ、簡単な必要性:
for(layer of polyLayers) {
drawnItems.addLayer(layer);
};
今の層は、マップや編集可能に追加されます。ここで
がEXAMPLEを行く:
var drawnItems = new L.FeatureGroup();
map.addLayer(drawnItems);
var polyLayers = [];
var polygon1 = L.polygon([
[51.509, -0.08],
[51.503, -0.06],
[51.51, -0.047]
]);
polyLayers.push(polygon1)
var polygon2 = L.polygon([
[51.512642, -0.099993],
[51.520387, -0.087633],
[51.509116, -0.082483]
]);
polyLayers.push(polygon2)
// Add the layers to the drawnItems feature group
for(layer of polyLayers) {
drawnItems.addLayer(layer);
}
この質問に追加する。私は、ユーザーが編集した図形をDBに保存したいと思います。私はちょうど "draw:edited"イベントで以前の値とlatlngsを比較するブルートフォース検索を行うべきでしょうか、それとも良い方法がありますか? – codejunkie
それはあなたの問題を解決しましたか? – Manuel
ありがとうございました! – codejunkie