Korzystanie z pakietu Maps SDK na Androida w wersji 3.1.0 BETA

Pakiet SDK Map Google na Androida w wersji 3.1.0 to nowa implementacja z tą samą powierzchnią interfejsu API co poprzednia (wszystkie klasy i metody pozostają takie same) oraz kilka nowych funkcji, które możesz wypróbować:

  • Dostosowywanie Map
  • Obsługa kolizji znaczników
  • Dostosowywanie linii łamanej

Z tego przewodnika dowiesz się, jak korzystać z nowych funkcji.

Dostosowywanie Map Google (beta)

Określanie stylów map w chmurze udostępnia wiele narzędzi i funkcji, które ułatwiają dostosowywanie stylu map i zarządzanie nimi. Zamiast określać styl mapy w kodzie za pomocą interfejsów API i pakietów SDK Map Google, możesz zarządzać mapami i określać ich styl w konsoli Google Cloud. Więcej informacji znajdziesz w artykule o dostosowywaniu mapy na Androida.

Obsługa kolizji znaczników (beta)

Możesz określić, czy znaczniki niestandardowe mają zastępować domyślne etykiety mapy bazowej w przypadku kolizji, a także wskazywać względny priorytet między znacznikami niestandardowymi. Więcej informacji znajdziesz w artykule Postępowanie w przypadku kolizji między znacznikami (Android).

Dostosowywanie linii łamanej (beta)

Wygląd linii łamanych można teraz dostosować na kilka nowych sposobów:

  • Wielokolorowe linie łamane nadają segmentom linii łamanej różne kolory.
  • Gradientowe linie łamane umożliwiają kolorowanie linii łamanej przy użyciu gradientu złożonego z dwóch kolorów.
  • Statyczne linie łamane umożliwiają stylizowanie linii łamanej za pomocą powtarzających się map bitowych.

Tworzenie wielokolorowej linii łamanej

Za pomocą spanów możesz kolorować poszczególne segmenty linii łamanej. W tym celu utwórz obiekty StyleSpan i dodaj je do obiektu PolylineOptions za pomocą metody addSpan() lub addSpans(). Domyślnie każdy element w tablicy ustawi kolor odpowiedniego segmentu linii. Poniższy przykład przedstawia ustawianie kolorów segmentów w celu utworzenia linii łamanej z czerwonymi i zielonymi segmentami:

Kotlin



val line = map.addPolyline(
    PolylineOptions()
        .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
        .addSpan(StyleSpan(Color.RED))
        .addSpan(StyleSpan(Color.GREEN))
)

      

Java


Polyline line = map.addPolyline(new PolylineOptions()
        .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
        .addSpan(new StyleSpan(Color.RED))
        .addSpan(new StyleSpan(Color.GREEN)));

      

Tworzenie linii łamanej gradientu

Gradient można zdefiniować, określając 2 32-bitowe liczby całkowite: alfa-czerwony-zielony-niebieski (ARGB), aby określić kolor początkowy i końcowy kreski. Ustaw tę właściwość w obiekcie opcji kształtu, wywołując PolylineOptions.addSpan(). Poniższy przykład pokazuje, jak utworzyć linię łamaną gradientową od czerwonego do żółtego z Woodland Park Zoo do Kirkland w stanie Waszyngton.

Kotlin



val line = map.addPolyline(
    PolylineOptions()
        .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
        .addSpan(
            StyleSpan(
                StrokeStyle.gradientBuilder(
                    Color.RED,
                    Color.YELLOW
                ).build()
            )
        )
)

      

Java


Polyline line = map.addPolyline(new PolylineOptions()
        .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
        .addSpan(new StyleSpan(StrokeStyle.gradientBuilder(Color.RED, Color.YELLOW).build())));

      

Tworzenie oznaczonej linii łamanej

Linię łamaną można ustawić na powtarzającą się teksturę bitmapy. Aby to zrobić, utwórz StampStyle o wartości TextureStyle, a następnie ustaw tę właściwość w obiekcie opcji kształtu, wywołując PolylineOptions.addSpan() w ten sposób:

Kotlin



val stampStyle =
    TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build()
val span = StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build())
map.addPolyline(
    PolylineOptions()
        .add(LatLng(47.6677146, -122.3470447), LatLng(47.6442757, -122.2814693))
        .addSpan(span)
)

      

Java


StampStyle stampStyle =
        TextureStyle.newBuilder(BitmapDescriptorFactory.fromResource(R.drawable.walking_dot)).build();
StyleSpan span = new StyleSpan(StrokeStyle.colorBuilder(Color.RED).stamp(stampStyle).build());
map.addPolyline(new PolylineOptions()
        .add(new LatLng(47.6677146,-122.3470447), new LatLng(47.6442757,-122.2814693))
        .addSpan(span));

      

Importowanie biblioteki narzędziowej zgodnej z wersją beta

Jeśli używasz biblioteki narzędzi interfejsu API Map Google na Androida, musisz też zaktualizować zależności projektu, aby zastąpić dotychczasową wersję wersją zgodną z beta. Aby to zrobić, wykonaj te czynności:

  1. Zaimportuj zgodną z wersji beta bibliotekę do pliku build.gradle:
    implementation 'com.google.maps.android:android-maps-utils-v3:1.3.1'
    
  2. Aby usunąć z build.gradle biblioteki narzędziowej niezgodnej z wersjami beta, usuń z niego te elementy:
    implementation 'com.google.maps.android:android-maps-utils:1.3.1'
    

Uruchamianie przykładów

Repozytorium Google Samples na GitHub zawiera przykładowe aplikacje, które pokazują korzystanie z pakietu Maps SDK w wersji beta na Androida w wersji 3.1.0.