Próbuję więc narysować zakrzywione linie w mojej aplikacji opartej na mapie Ulotki.
O ile mi wiadomo, Ulotka nie obsługuje obecnie rysowania zakrzywionych linii, więc moje pytanie dotyczy naprawdę tego, jak najlepiej uzyskać tam funkcję falistą.
Problem stał się trudniejszy, ponieważ mój kod będzie musiał być zgodny z IE-8, co oznacza, że czysty SVG nie jest rozwiązaniem. (Ulotka faktycznie wraca do VML, jeśli wykryje, że nie obsługuje SVG ...)
Tak więc jedną z możliwości byłoby napisanie kodu rozszerzenia ulotki opartego na SVG z własnym powrotem do VML. To byłoby naprawdę dużo pracy. : /
Czy ktoś ma lepszą propozycję?
leaflet
polyline-creation
svg
fgysin przywraca Monikę
źródło
źródło
Odpowiedzi:
Biorąc pod uwagę wymagania dotyczące obsługi IE8, nie mamy wielu opcji na stole. Mogę przywołać tylko jedną bibliotekę SVG, która ma awarię VML - Raphaël.js. Możesz więc wypróbować tę implementację warstwy Raphaëla dla Ulotki. https://github.com/dynmeth/RaphaelLayer Sam nie próbowałem wtyczki, ale z powodzeniem użyłem Raphaëla. Mam nadzieję, że znajdziesz zastosowanie.
Oto działający przykład (zdjęcie prowadzi do wersji demo) http://visualizingurbanfutures.com/2012/09/09/06/maps-with-raphael-js/
Jeśli nie jest to wymaganie IE8, chciałbym użyć D3 dla dowolnych wektorów w internetowym GIS.
źródło
Możesz użyć wtyczki arc.js do ulotki, aby narysować zakrzywione linie.
źródło
Utworzenie własnej warstwy niestandardowej jest prawdopodobnie jednym z rozwiązań tego problemu. Ale tak, zgadzam się, że byłoby to cholernie dużo pracy. Inną opcją byłoby narysowanie własnych krzywych (beziera, b-splajnu lub czegoś podobnego) na podstawie współrzędnych geograficznych. Nie mam pojęcia, czy to ładnie wygląda, ale mogłem sobie wyobrazić, że wynik nie byłby taki zły i jest zdecydowanie o wiele szybszy. Istnieje wiele skryptów JS dla takich algorytmów. Warto rozważyć przesłanie danych do czegoś takiego jak UTM do obliczeń.
Jeśli znajdziesz coś daj nam znać ...
źródło