Opuscolo: come disegnare linee curve?


17

Quindi, sto provando a disegnare linee curve nella mia applicazione che si basa su una mappa Leaflet.

Per quanto ne so Leaflet al momento non supporta il disegno di linee curve, quindi la mia domanda è davvero di più su come ottenere al meglio un po 'di funzionalità delle linee curve.

Il problema è reso più difficile perché il mio codice dovrà essere compatibile con IE-8, il che significa che SVG puro non è una soluzione. (Il volantino in realtà esegue un fallback su VML se rileva che non è presente alcun supporto SVG ...)

Quindi una possibilità sarebbe quella di scrivere un codice di estensione per volantini basato su SVG con il suo fallback su VML. Questo sarebbe un lavoro infernale. : /

Qualcuno ha una proposta migliore?


Proprio ora ho capito che non ho mai accettato una risposta. Ho scelto quello di @dobrych perché Raphaël sembra essere una libreria molto bella e offre un buon fallback VML. Potrei anche esaminare arc.js.
Fgysin ripristina Monica l'

Risposte:


5

Considerando i requisiti di supporto per IE8, non abbiamo molte opzioni sul tavolo. Ricordo solo una lib SVG con fallback VML - Raphaël.js Quindi puoi provare questa implementazione del plugin di livello Raphaël per Leaflet. https://github.com/dynmeth/RaphaelLayer Non ho provato il plugin da solo, ma ho usato con successo Raphaël. Spero che tu possa trovarne un uso.

Ecco l'esempio funzionante (link immagine alla demo) http://visualizingurbanfutures.com/2012/09/06/maps-with-raphael-js/

Se non fosse richiesto IE8, userei D3 per tutti i vettori nel web GIS.



3

Creare il tuo livello personalizzato è probabilmente una soluzione per risolvere quel problema. Ma sì, sono d'accordo che sarebbe un lavoro infernale. Un'altra opzione sarebbe quella di disegnare le tue curve (bezier, b-spline o qualcosa del genere) in base alle coordinate geografiche. Non ho idea se sembra bello, ma potrei immaginare che il risultato non sarebbe troppo male ed è sicuramente molto più veloce. Esistono numerosi script JS per tali algoritmi. Potrebbe valere la pena considerare di proiettare i dati in qualcosa come UTM per il calcolo.

Se trovi smth. per favore facci sapere ...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.