BETAVERSION 3.1.0 des Maps SDK for Android verwenden

Die Betaversion 3.1.0 des Maps SDK for Android ist eine neue Implementierung mit derselben API-Oberfläche wie die vorherige Version (alle Klassen und Methoden bleiben unverändert). Sie enthält aber einige neue Funktionen:

  • Kartenanpassung
  • Umgang mit Markierungskonflikten
  • Polylinienanpassung

In diesem Leitfaden erfährst du, wie du die neuen Funktionen verwenden kannst.

Kartenanpassung (Beta)

Cloudbasierte Kartenstile bieten eine Vielzahl von Tools und Funktionen, mit denen du den Stil deiner Karten einfacher anpassen und verwalten kannst. Anstatt deine Karte mithilfe der APIs und SDKs von Maps individuell zu gestalten, lässt sich das in der Google Cloud Console durchführen. Weitere Informationen findest du auf der Seite Die Maps-Anpassungsfunktionen (Beta).

Umgang mit Markierungskonflikten (Beta)

Du kannst angeben, ob benutzerdefinierte Markierungen die Standardlabels der Basiskarte überschreiben sollen, wenn es zu einem Konflikt kommt. Außerdem kannst du die relative Priorität zwischen benutzerdefinierten Markierungen festlegen. Weitere Informationen findest du unter Umgang mit Markierungskonflikten (Android).

Polylinienanpassung (Beta)

Es gibt jetzt mehrere neue Möglichkeiten, das Aussehen von Polylinien anzupassen:

  • Bei mehrfarbigen Polylinien werden Polyliniensegmente auf verschiedene Farben festgelegt.
  • Bei Farbverlaufspolygonen wird eine Polylinie mithilfe eines Verlaufs aus zwei Farben eingefärbt.
  • Gestanzte Polylinien versehen eine Polylinie mithilfe von sich wiederholenden Bitmaps mit einem Stil.

Mehrfarbige Polylinie erstellen

Du kannst Spans für einzelne Farbsegmente einer Polylinie verwenden, indem du StyleSpan-Objekte erstellst und diese mit der Methode addSpan() oder addSpans() zu PolylineOptions hinzufügst. Standardmäßig wird durch jedes Element im Array die Farbe des entsprechenden Liniensegments festgelegt. Im folgenden Beispiel wird das Festlegen von Segmentfarben zum Erstellen einer Polylinie mit roten und grünen Segmenten veranschaulicht:

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)));

      

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))
)

      

Farbverlaufspolygone erstellen

Du kannst einen Farbverlauf definieren, indem du zwei 32-Bit-Alpha-Rot-Grün-Blau-Ganzzahlen (ARGB) angibst, um die Anfangs- und die Endfarbe des Strichs festzulegen. Lege dieses Attribut für das Optionsobjekt der Form fest, indem PolylineOptions.addSpan() aufgerufen wird. Das folgende Beispiel veranschaulicht das Erstellen einer Polylinie von Woodland Park Zoo nach Kirkland im US-Bundesstaat Washington mit einem Farbverlauf von Rot zu Gelb.

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())));

      

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()
            )
        )
)

      

Eine gestanzte Polylinie erstellen

Du kannst die Darstellung einer Polylinie auf eine sich wiederholende Bitmaptextur festlegen. Erstelle dazu einen StampStyle von TextureStyle und lege dieses Attribut im Optionsobjekt der Form fest, indem du PolylineOptions.addSpan() wie hier dargestellt aufrufst:

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));

      

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)
)

      

Mit Betaversion kompatible Dienstprogrammbibliothek importieren

Wenn du die Google Maps Android API-Dienstprogrammbibliothek verwendest, musst du auch die Projektabhängigkeiten aktualisieren, um die vorhandene Version durch die Version zu ersetzen, die mit der Betaversion kompatibel ist. Gehe dazu so vor:

  1. Importiere die mit der Betaversion kompatible Dienstprogrammbibliothek in die Datei build.gradle:
    implementation 'com.google.maps.android:android-maps-utils-v3:1.3.1'
    
  2. Lösche Folgendes aus build.gradle, um eine nicht mit der Betaversion kompatible Dienstprogrammbibliothek zu entfernen:
    implementation 'com.google.maps.android:android-maps-utils:1.3.1'
    

Beispiele ausführen

Das Google-Beispiel-Repository auf GitHub enthält Beispiel-Apps, die die Verwendung der Betaversion 3.1.0 von Maps SDK for Android demonstrieren.