Skip to content

mod_pposmap 1.3.0

Choose a tag to compare

@pablop76 pablop76 released this 12 Aug 21:02
· 3 commits to main since this release

Obsługa GeoJSON

Moduł wczytuje dane z pliku GeoJSON: wklejonego w panelu albo leżącego na serwerze. Obsługiwane są wszystkie typy geometrii wraz z GeometryCollection.

  • Punkty (Point, MultiPoint) zachowują się dokładnie jak dodane ręcznie: dostają pinezkę i dymek, trafiają na listę obok mapy i mogą wejść do danych strukturalnych.
  • Linie i obszary rysują się na mapie z konfigurowalnym kolorem, grubością i kryciem. Pokazują to, czego pinezka nie pokaże: obszar dojazdu, przebieg trasy, granicę gminy, strefę dostawy.
  • Działa u obu dostawców: Leaflet przez L.geoJSON, Mapbox przez źródło geojson z warstwami fill i line. Ten sam plik działa w obu trybach, nic nie trzeba konwertować.
  • Nazwy właściwości, z których czytany jest tytuł, opis, telefon, godziny, zdjęcie i pola adresowe, ustawia się w panelu. Domyślne pasują do eksportu z OpenStreetMap, a Moje Mapy Google używają name i description.
  • Właściwości standardu simplestyle-spec zapisane w samym pliku mają pierwszeństwo przed ustawieniami modułu.
  • Opcja dopasowania widoku do danych ustawia środek i przybliżenie tak, żeby zmieściły się wszystkie punkty i obszary.

Bezpieczeństwo i jakość danych: treść z pliku jest filtrowana po stronie PHP (tytuł przez strip_tags, opis w trybie safehtml), wczytywanie z pliku ogranicza się do katalogu witryny i rozszerzeń .geojson/.json, obiekt bez nazwy nie trafia do danych strukturalnych, a współrzędne poza zakresem są pomijane zamiast lądować w losowym miejscu świata.

Usuwanie wszystkich punktów naraz

Przycisk czyszczący całą listę punktów jednym kliknięciem, zamiast kasowania wiersz po wierszu. Zabezpieczenie przed przypadkowym usunięciem jest trzywarstwowe:

  1. pytanie potwierdzające podające liczbę punktów,
  2. przycisk Cofnij wstawiający wiersze z powrotem na ich pierwotne miejsca,
  3. nic nie trafia do bazy przed kliknięciem Zapisz, więc wyjście z modułu bez zapisywania przywraca stan.

Pozostałe

Obrazki i pinezki obsługują teraz adresy bezwzględne, bo właściwość ze zdjęciem w GeoJSON bywa pełnym adresem obcego serwera. Punkt bez tytułu i bez opisu nie tworzy już pustego wiersza na liście.

Aktualizacja jest zgodna wstecz: żadne pole nie zostało usunięte ani przemianowane, ustawienia i dodane punkty zostają nietknięte.