Aplikacja w Vue do zarządzania wybranymi danym geograficznymi
Zlecę do napisania aplikację w VUE.JS, która na mapie podkładowej przy użyciu Leaflet.js pozwoli na zarządzanie danymi geograficznymi w postaci "półkół" tj. ich dodawanie, usuwanie oraz edycję.
Cechy półkola:
- lokalizacja (lat/lng)
- obrócenie (w stopniach)
Wszystkie półkola z przyczyn wydajnościowych muszą rysować się na na warstwie WebGlowej (takich punktów będą docelowo dziesiątki tysięcy).
Każde półkole powinno mieć możliwość płynnego, interaktywnego obracania w "prawo" i w "lewo". Obracanie powinno być możliwe "bezpośrednio" na mapie za pomocą kliknij-przeciągnij tj. użytkownik klika w półkole, pokazuje się ikonka do obracania dzięki, której możemy obrócić półkole (live-redraw).
Po kliknięciu w półkole pokazuje się komponent okna dialogowego VUE z informacją o lokalizacji (w polach tekstowych lokalizacja lat/lng oraz kąt obrócenia z możliwością ich zmiany i zatwierdzenia). Czyli lokalizację oraz stopień obrócenia można zmienić zarówno interaktywnie na mapie jak i z tych pól testowych.
Dodatkowo powinna istnieć:
- opcja Upload'u, gdzie wrzucamy LineString'a w formacie WTK. Kliknięcie w dowolny punkt na mapie w promieniu X metrów od linestringa dodaje pólkole na tym linestring'u o odpowiednim obróceniu tj. obliczamy najbliższy punkt od kliknięcia do linestring'a, półkole ma "obrócenie" takie jak styczna w tym punkcie.
- opcja usunięcia LineString'a - klikając prawym przyciskiem myszy w LineString'a można go usunąć (najpierw pytamy użytkownika czy usunąć)
- opcja "Zapisz pracę" - dane wytworzone przez użytkownika zapisują się w przeglądarce (półkola i linestringi) i przy ponownym wejściu pytamy użytkownika czy wczytać zapisane dane czy rozpocząć od początku