Ulotka: jak narysować zakrzywione linie?


17

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ę?


Właśnie teraz zdałem sobie sprawę, że nigdy nie zaakceptowałem odpowiedzi. Wybrałem ten autorstwa @dobrych, ponieważ Raphaël wydaje się być bardzo ładną biblioteką i zapewnia niezłą rezerwę VML. Mogę również zajrzeć do pliku arc.js.
fgysin przywraca Monikę

Odpowiedzi:


5

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.



3

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ć ...

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.