Leaflet.draw マッピング: ツールバーなしで描画機能を開始するにはどうすればいいですか? 質問する

Leaflet.draw マッピング: ツールバーなしで描画機能を開始するにはどうすればいいですか? 質問する

leaflet または leaflet.draw プラグインの使用経験がある方:

からツールバーを使用せずにポリゴンの描画を開始したいと思いますleaflet.draw。オンラインで検索して、ツールバー ( layer.editing.enable();) を使用せずに編集できるプロパティを見つけることができました (メインのドキュメントには記載されていません)。ツールバー ボタンを使用せずにポリゴンの描画を開始する方法が見つからないようです。ご協力いただければ幸いです。

ありがとう :)

ベストアンサー1

このシンプルなコードは私にとってはうまくいきます:

new L.Draw.Polyline(map, drawControl.options.polyline).enable();

カスタム ボタンの onclick ハンドラー (または任意の場所) に配置するだけです。

変数およびmapは、drawControlリーフレット マップと描画コントロールへの参照です。

ソース コード (leaflet.draw-src.js) を調べると、他の要素を描画したり、編集したり、削除したりする関数が見つかります。

new L.Draw.Polygon(map, drawControl.options.polygon).enable()
new L.Draw.Rectangle(map, drawControl.options.rectangle).enable()
new L.Draw.Circle(map, drawControl.options.circle).enable()
new L.Draw.Marker(map, drawControl.options.marker).enable()

new L.EditToolbar.Edit(map, {
                featureGroup: drawControl.options.featureGroup,
                selectedPathOptions: drawControl.options.edit.selectedPathOptions
            })
new L.EditToolbar.Delete(map, {
                featureGroup: drawControl.options.featureGroup
            })

これがあなたにとっても役立つことを願っています。

編集: クラスL.EditToolbar.EditL.EditToolbar.Deleteクラスは次の便利なメソッドを公開します:

  • enable(): 編集/削除モードを開始する
  • 無効にする():標準モードに戻す
  • save(): 変更を保存します (draw:edited / draw:deleted イベントが発生します)
  • revertLayers(): 変更を元に戻す

おすすめ記事