Maps SDK na Android Utility Library

Wybierz platformę: Android iOS

Szukasz zaawansowanych funkcji, które możesz dodać do swoich map? Biblioteka narzędziowa pakietu SDK Map na Androida to biblioteka open source zawierająca klasy przydatne w różnych aplikacjach. Repozytorium GitHub zawiera klasy pomocnicze i aplikację demo, która ilustruje użycie każdej klasy.

W tym filmie Chris Broadfoot omawia bibliotekę narzędziową, ze szczególnym uwzględnieniem dekodowania linii łamanych, geometrii sferycznej i ikony bąbelków.

Szybka konfiguracja

Aby zainstalować pakiet SDK Map na potrzeby biblioteki narzędziowej na Androida, postępuj zgodnie z przewodnikiem konfiguracji.

Usługi

Mapa z warstwą GeoJSON

Importowanie danych GeoJSON na mapie

Możesz przechowywać obiekty w formacie GeoJSON i używać tego narzędzia do ich renderowania jako warstwy na mapie. Aby dodać do mapy dane GeoJSON, zadzwoń pod numer addLayer(). Możesz też dodawać poszczególne cechy, wywołując funkcję addFeature(), przekazując obiekt GeoJsonFeature.

Więcej informacji znajdziesz w dokumentacji Google Maps Utility for Android GeoJSON.

Mapa z warstwą KML

Importowanie pliku KML na mapę

Za pomocą tego narzędzia możesz przekształcać obiekty KML w ksztalty geograficzne i renderować je jako warstwę na mapie. Aby dodać warstwę do mapy, zadzwoń pod numer addLayerToMap(). Do właściwości obiektu KML możesz uzyskać dostęp, wywołując funkcję getProperties() w przypadku dowolnego obiektu Placemark, GroundOverlay, Document lub Folder.

Szczegółowe informacje znajdziesz w dokumentacji KML Utility na Androida.

Mapa z mapą termiczną

Dodawanie map ciepła 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 ciepła wykorzystują kolor i kształt do przedstawiania rozkładu danych. Utwórz obiekt HeatmapTileProvider, przekazując mu zbiór obiektów LatLng reprezentujących punkty zainteresowania na mapie. Następnie utwórz nowy element TileOverlay, przekazując mu dostawcę kafelków mapy ciepła, i dodaj na mapie nakład kafelka.

Szczegółowe informacje znajdziesz w dokumentacji Map Google – narzędzie do tworzenia map ciepła na Androidzie.

Mapa z ikonami dymek

Dostosowywanie znaczników za pomocą ikony bańki

Dodaj IconGenerator, aby wyświetlać fragmenty informacji na swoich znacznikach. To narzędzie umożliwia nadanie ikonom znaczników wyglądu okien z informacjami, ponieważ sam znacznik może zawierać tekst i inne treści. Zaletą jest to, że możesz mieć otwartych jednocześnie więcej niż 1 znacznik, podczas gdy otwarte może być tylko jedno okno informacyjne. Możesz też nadać znacznikom styl, zmienić ich orientację lub zawartość, a także zmienić obraz tła lub obraz dziewięcioczęściowy znacznika.

Mapa ze skupionymi znacznikami

Zarządzanie klastrami znaczników

Przycisk ClusterManager ułatwia zarządzanie wieloma znacznikami na różnych poziomach powiększenia. Oznacza to, że możesz umieścić na mapie dużą liczbę znaczników, nie utrudniając jej odczytania. Gdy użytkownik wyświetla mapę z wysokim poziomem powiększenia, na mapie widoczne są poszczególne znaczniki. Gdy użytkownik oddali widok, znaczniki łączą się w grupy, aby ułatwić wyświetlanie mapy.

Szczegółowe informacje znajdziesz w dokumentacji Narzędzia do grupowania znaczników Map Google na Androida.

Mapa z wieloma warstwami

Dodawanie wielu warstw do tej samej mapy

Na jednej mapie możesz wyświetlać elementy z GeoJSON, KML i klasterów, a także własne znaczniki, linie złożone i wielokąty. Te warstwy można również uczynić interaktywnymi, dodając do każdej z nich listenera kliknięcia. Wystarczy utworzyć instancje klas MarkerManager, GroundOverlayManager, PolygonManagerPolylineManager oraz przekazać je do konstruktorów funkcji GeoJsonLayer, KmlLayerClusterManager podczas ich konfigurowania. Następnie możesz bezpośrednio używać wymienionych powyżej klas Manager, aby dodawać do mapy własne znaczniki, polilinie i wielokąty.

Szczegółowe informacje znajdziesz w dokumentacji dotyczącej demonstracji Map Google na Androida z wielowarstwową mapą.

Mapa z zakodowaną linią łamaną

kodowanie i dekoodowanie linii łamanych,

Wartość PolyUtil jest przydatna do konwertowania zakodowanych polilinii i poligonów na współrzędne szerokości i długości geograficznej oraz odwrotnie.

W Mapach Google współrzędne geograficzne określające polilinię lub wielokąt są przechowywane jako zakodowany ciąg znaków. Zapoznaj się ze szczegółowym wyjaśnieniem kodowania ścieżek wieloliniowych. Możesz otrzymać ten zakodowany ciąg znaków w odpowiedzi interfejsu API Google, takiego jak Directions API (stara wersja).

Możesz użyć funkcji PolyUtil w bibliotece 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, a także zdekodować zakodowany ciąg ścieżki w sekwencję LatLngs. Dzięki temu zapewnisz interoperacyjność z internetowymi usługami Map Google.

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

Obliczanie odległości, powierzchni i kierunków za pomocą geometrii sferycznej

Korzystając z programów do geometrii sferycznej w SphericalUtil, możesz obliczać odległości, obszary i kierunki na podstawie szerokości i długości geograficznej. Oto kilka metod dostępnych w 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 w metrach kwadratowych powierzchnię zamkniętej ścieżki na Ziemi.
  • interpolate() – zwraca współrzędne szerokości i długości geograficznej punktu, który znajduje się w określonej odległości od 2 wybranych punktów. Możesz na przykład użyć tego do animowania znacznika między 2 punktami.

Pełną listę metod 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 umożliwia sprawdzenie, czy dana lokalizacja jest obsługiwana w Street View. Aby uniknąć błędów podczas dodawania panoramy Street View do aplikacji na Androida, wywołaj tę funkcję metadanych i dodawaj panoramę Street View tylko wtedy, gdy odpowiedź toOK.

Szczegółowe informacje znajdziesz w dokumentacji na temat narzędzia do obsługi metadanych Street View w GitHub.