Maps SDK na Android Utility Library

Wybierz platformę: Android iOS

Szukasz zaawansowanych funkcji, które warto dodać do swoich map? Biblioteka narzędziowa pakietu Maps SDK na Androida to biblioteka typu open source z klasami przydatnych w wielu różnych aplikacjach. Repozytorium GitHub zawiera klasy narzędzi i aplikację demonstracyjną, która pokazuje użycie poszczególnych klas.

W tym filmie Chris Broadfoot omawia bibliotekę narzędzi, koncentrując się na dekodowaniu linii łamanej, geometrii sferycznej i ikonach dymków.

Szybka konfiguracja

Aby zainstalować bibliotekę narzędziową Maps SDK na Androida, postępuj zgodnie z przewodnikiem konfiguracji.

Narzędzia

Mapa z warstwą GeoJSON

Importowanie GeoJSON na mapę

Cechy można przechowywać w formacie GeoJSON i używać tego narzędzia do renderowania ich jako warstwy na mapie. Wywołaj addLayer(), aby dodać dane GeoJSON do mapy. Poszczególne cechy możesz też dodawać, wywołując addFeature(), przekazując obiekt GeoJsonFeature.

Więcej informacji znajdziesz w dokumentacji narzędzia GeoJSON na Androida Map Google.

Mapa z warstwą KML

Importowanie pliku KML na mapę

Za pomocą tego narzędzia możesz konwertować obiekty KML na kształty geograficzne i renderować je jako warstwy na mapie. Aby dodać warstwę do mapy, wywołaj funkcję addLayerToMap(). Dostęp do właściwości obiektu KML możesz uzyskać, wywołując metodę getProperties() w dowolnym polu Placemark, GroundOverlay, Document lub Folder.

Więcej informacji znajdziesz w dokumentacji narzędzia KML Map Google na Androida.

Mapa z mapą termiczną

Dodawanie map termicznych do mapy

Mapy termiczne ułatwiają widzom zrozumienie rozkładu i względnej intensywności punktów danych na mapie. Zamiast umieszczać znacznik w każdej lokalizacji, mapy termiczne wykorzystują kolor i kształt, aby odzwierciedlić rozkład danych. Utwórz obiekt HeatmapTileProvider, który przekazuje do niej zbiór LatLng obiektów reprezentujących ciekawe miejsca na mapie. Następnie utwórz nowy obiekt TileOverlay, który będzie przekazywać go jako dostawcę kafelka mapy termicznej, i dodaj do mapy nakładkę z kafelkami.

Szczegółowe informacje znajdziesz w dokumentacji narzędzia Mapa termiczna na Androida w Mapach Google.

Mapa z ikonami dymków

Dostosuj znaczniki za pomocą ikon dymków

Dodaj element IconGenerator, aby wyświetlać fragmenty informacji przy znacznikach. Dzięki temu narzędziu ikony znaczników mogą wyglądać jak okna informacyjne, ponieważ mogą zawierać tekst i inną zawartość. Zaletą jest możliwość jednoczesnego otwarcia więcej niż jednego znacznika, podczas gdy jednocześnie otwarte może być tylko jedno okno informacyjne. Możesz też zmienić styl znaczników, zmienić orientację znacznika lub treści oraz zmienić jego obraz tła lub dziewięciu poprawek.

Mapa ze zgrupowanymi znacznikami

Zarządzaj klastrami znaczników

Pole ClusterManager ułatwia zarządzanie wieloma znacznikami na różnych poziomach powiększenia. Oznacza to, że na mapie możesz umieścić dużą liczbę znaczników, dzięki czemu będzie ona nieczytelna. Gdy użytkownik wyświetla mapę w dużym powiększeniu, poszczególne znaczniki są widoczne na mapie. Gdy użytkownik pomniejsza mapę na mniejszy poziom, znaczniki zbierają się w klastry, aby ułatwić przeglądanie mapy.

Więcej informacji znajdziesz w dokumentacji narzędzia do grupowania Android znacznika w Mapach Google.

Mapa z wieloma warstwami

Dodawanie wielu warstw do tej samej mapy

Możesz wyświetlać obiekty z GeoJSON, KML i klastrów, a także własne znaczniki, linie łamane i wielokąty – na tej samej mapie. Te warstwy można też przekształcić w interaktywność, dodając do każdej z nich odbiornik kliknięć. Wystarczy utworzyć instancje klas MarkerManager, GroundOverlayManager, PolygonManager i PolylineManager oraz przekazać je do konstruktorów GeoJsonLayer, KmlLayer i ClusterManager podczas ich konfigurowania. Korzystając z powyższych klas Manager, możesz bezpośrednio dodawać do mapy własne znaczniki, linie łamane i wielokąty.

Więcej informacji znajdziesz w dokumentacji wielowarstwowej wersji demonstracyjnej Map Google na Androida.

Mapa z zakodowaną linią łamaną

Kodowanie i dekodowanie linii łamanych

Obiekt PolyUtil przydaje się do konwertowania zakodowanych linii łamanych i wielokątów na współrzędne szerokości i długości geograficznej i odwrotnie.

W Mapach Google współrzędne długości i szerokości geograficznej definiujące linię łamaną lub wielokąt są przechowywane jako zakodowany ciąg znaków. Przeczytaj szczegółowe wyjaśnienie kodowania łamanego. Ten zakodowany ciąg możesz otrzymać w odpowiedzi z interfejsu API Google, takiego jak Directions API.

Możesz użyć funkcji PolyUtil z biblioteki narzędziowej pakietu Maps SDK na Androida, aby zakodować sekwencję współrzędnych szerokości i długości geograficznej („LatLngs”) w zakodowanym ciągu ścieżki oraz zdekodować zakodowany ciąg ścieżki do postaci sekwencji współrzędnych geograficznych. Zapewni to interoperacyjność z usługami internetowymi interfejsów API Map Google.

Obliczona odległość między dwoma punktami na mapie

Oblicz odległości, powierzchnie i kierunki przy użyciu geometrii sferycznej

Za pomocą narzędzi do geometrii sferycznej w SphericalUtil możesz obliczać odległości, powierzchnie i kierunki na podstawie szerokości i długości geograficznej. Oto niektóre metody dostępne w tym narzędziu:

  • computeDistanceBetween() – zwraca odległość w metrach między dwoma współrzędnymi szerokości i długości geograficznej.
  • computeHeading() – zwraca kierunek (w stopniach) między dwoma współrzędnymi szerokości i długości geograficznej.
  • computeArea() – zwraca powierzchnię zamkniętej ścieżki na Ziemi (w metrach kwadratowych).
  • interpolate() – zwraca współrzędne szerokości i długości geograficznej punktu leżącego zgodnie z podanym ułamkiem odległości między 2 podanymi punktami. Możesz użyć tej funkcji, aby na przykład animować znacznik między 2 punktami.

Pełną listę metod dostępnych w narzędziu znajdziesz w dokumentacji referencyjnej.

Sprawdzanie, czy lokalizacja jest obsługiwana w Street View

Sprawdź, czy lokalizacja jest obsługiwana w Street View.

Klasa StreetViewUtil udostępnia funkcję sprawdzania, czy lokalizacja jest obsługiwana w Street View. Aby uniknąć błędów podczas dodawania panoramy Street View do aplikacji na Androida, wywołaj to narzędzie metadanych i dodaj panoramę Street View tylko wtedy, gdy odpowiedź to OK.

Szczegółowe informacje znajdziesz w dokumentacji dotyczącej narzędzia do zarządzania metadanymi Street View na GitHubie.