Dépliant.dessiner la cartographie: Comment lancer la fonction draw sans barre d'outils?
Pour quelqu'un d'expérimenté avec dépliant ou une brochure.tirage plugin:
Je veux lancer le dessin d'un polygone sans l'aide de la barre d'outils de leaflet.draw
. J'ai réussi à trouver la propriété qui permet de modifier, sans l'aide de la barre d'outils (layer.editing.enable();
) par la recherche en ligne (ce n'est pas dans la documentation principale). Je n'arrive pas à trouver comment faire pour commencer à dessiner un polygone sans le bouton de barre d'outils. Toute aide serait grandement appréciée!
Merci 🙂
- J'ai besoin de le comprendre ainsi. Si vous avez trouvé la réponse, veuillez le poster ici, Merci.
- Je n'ai pas encore trouvé la réponse moi-même.
- Voir cette question pour une simple démo: stackoverflow.com/questions/22730888/...
Vous devez vous connecter pour publier un commentaire.
Ce simple code qui fonctionne pour moi:
Il suffit de le mettre dans le onclick gestionnaire de votre bouton personnalisé (ou où vous voulez).
Les variables
map
etdrawControl
sont des références à votre notice de la carte et dessiner de contrôle.De plonger dans le code source (à l'leaflet.draw-src.js) vous pouvez trouver les fonctions pour les autres éléments et à les modifier ou les supprimer.
J'espère que ce sera utile pour vous aussi.
EDIT:
Le
L.EditToolbar.Edit
etL.EditToolbar.Delete
classes d'exposer les méthodes utiles suivants:Donc j'ai compris pour les cercles, mais il doit être le même pour les polygones. C'est en fait très simple. J'espère que le code suivant répond à votre question, mais si non, laissez-moi savoir et je peux poster plus d'une idée ou quelque chose.
Désolé beaucoup de qui est juste du bruit, mais il devrait vous donner une idée de la façon d'aller à ce sujet. Vous pouvez contrôler la modification comme vous l'avez dit à l'édition.enable()/.disable().
Assurez-vous de commenter avec toutes les questions. Bonne chance à l'homme.
Je pense qu'il vaut la peine de mentionner Jacob Toyes répondre à ce problème. Vous êtes toujours le dessin avec les gestionnaires d' dépliant.tirage - pas directement avec des couches. Si vous souhaitez modifier un calque, vous utilisez le gestionnaire enregistré dans une des couches
editing
champ comme ça:layer.editing.enable();
. Et si vous voulez créer un nouveau calque, vous devez d'abord créer un nouveau gestionnaire:Maintenant il y a en fait un exemple sur le dépliant.tirage github page: https://github.com/Leaflet/Leaflet.draw/blob/master/examples/edithandlers.html
Néanmoins, je pense que les gestionnaires ne sont pas bien documentés encore là.
Comme indiqué ci-dessus,
L.EditToolbar.Edit
etL.EditToolbar.Delete
intéressant d'exposer les méthodes et les événements comme editstart et editstop. Ce n'est pas mentionné, c'est que ces deux classes sont elles-mêmes dérivées deL.Handler
.