Przejdź do treści

Shiny – punkty z mapki

Jak pobrać współrzędne punktu wskazanego na mapie?

Czasem istnieje potrzeba, aby w aplikacji (napisanej w Shiny) użytkownik wskazał jakąś lokalizację na mapie. Jak to zrobić?

Bardzo szybki wpis, który rozwiązuje konkretny problem. Ot – takie StackOverflow ;).

Trzeba narysować mapę – do map interaktywnych bardzo wygodny jest pakiet leaflet, który opakowuje nam bibliotekę Leaflet napisaną w Java Script. Przy okazji: podobnie robi plotly – obie ta biblioteki są proste w użyciu, a dają bardzo atrakcyjne efekty w postaci interaktywnych map czy wykresów.

Po narysowaniu mapy ustawiamy marker na jej środku i dostosowujemy widoczny obszar.

Pozostaje tylko czekać na event (zdarzenie) z Shiny. Nasza aplikacja zareaguje na zdarzenie w obiekcie mapy. Odpowiednie zmienne zawierają współrzędne klikniętego punktu. Teraz wystarczy usunąć wszystkie dodane markery i na nowo dodać jednej w klikniętym miejscu. Dodatkowo w poniższym kodzie wypisujemy współrzędne klikniętego punktu.

Jak działa powyższy kod możecie sprawdzić poniżej (oczywiście klikając po mapie, przesuwając ją i zoomując):

Prawda, że proste?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *