Donc, j'essaie de dessiner des lignes courbes dans mon application qui est basée sur une carte Leaflet.
Pour autant que je sache, Leaflet ne prend pas en charge le dessin de lignes courbes pour le moment, donc ma question est vraiment de savoir comment obtenir au mieux une fonctionnalité de ligne courbe.
Le problème est rendu plus difficile car mon code devra être compatible IE-8, ce qui signifie que le SVG pur n'est pas une solution. (Leaflet fait en fait un retour à VML s'il détecte qu'aucun support SVG n'est présent ...)
Donc, une possibilité serait d'écrire moi-même un code d'extension de brochure basé sur SVG avec son propre repli sur VML. Ce serait un sacré travail. : /
Quelqu'un at-il une meilleure proposition?
leaflet
polyline-creation
svg
fgysin réintègre Monica
la source
la source
Réponses:
Compte tenu de la prise en charge d'IE8, nous n'avons pas beaucoup d'options sur la table. Je ne me souviens que d'une seule librairie SVG qui a un repli VML - Raphaël.js Vous pouvez donc essayer cette implémentation du plugin de couche Raphaël pour Leaflet. https://github.com/dynmeth/RaphaelLayer Je n'ai pas essayé le plugin moi-même, mais j'ai utilisé Raphaël avec succès. J'espère que vous pourrez en trouver une utilisation.
Voici l'exemple de travail (liens d'image vers la démo) http://visualizingurbanfutures.com/2012/09/06/maps-with-raphael-js/
Si ce n'est pas l'exigence IE8, j'irais utiliser D3 pour tous les vecteurs du Web SIG.
la source
Vous pouvez utiliser le plugin arc.js pour le dépliant pour tracer des lignes courbes.
la source
Créer votre propre couche personnalisée est probablement une solution pour résoudre ce problème. Mais oui, je suis d'accord que ce serait beaucoup de travail. Une autre option serait de dessiner vos propres courbes (bezier, b-spline ou quelque chose comme ça) en fonction des coordonnées géographiques. Je n'ai aucune idée si cela a l'air sympa, mais je pourrais imaginer que le résultat ne serait pas trop mauvais et qu'il est définitivement beaucoup plus rapide. Il existe de nombreux scripts JS pour de tels algorithmes. Il pourrait être utile d'envisager de projeter vos données dans quelque chose comme UTM pour le calcul.
Si vous trouvez smth. veuillez nous le faire savoir ...
la source