Mit den folgenden Schritten können Sie datengestützte Stile für Begrenzungen einrichten.
Neuen Karten-Renderer aktivieren
Ab Version 18.0.0 des Maps SDK for Android ist ein aktualisierter Karten-Renderer verfügbar. Er umfasst viele Verbesserungen, darunter Unterstützung für das cloudbasierte Gestalten von Karteninhalten.
Im Rahmen der Veröffentlichung von Version 18.2.0 des Maps SDK for Android wurde der Standard-Renderer vom alten zum aktualisierten Karten-Renderer geändert. Daher wird beim Erstellen neuer Apps oder Überarbeiten bestehender Apps nun standardmäßig der aktualisierte Karten-Renderer verwendet.
Karten-ID erstellen
Eine entsprechende Anleitung finden Sie unter Karten-ID erstellen. Sie müssen als Kartentyp Android festlegen.
Neuen Kartenstil erstellen
Folgen Sie der Anleitung unter Kartenstile verwalten, um einen neuen Kartenstil zu erstellen. Verknüpfen Sie den Stil dann mit der Karten-ID, die Sie soeben erstellt haben.
Elementebenen des neuen Kartenstils auswählen
In der Google API Console können Sie auswählen, welche Elementebenen für die Ihren neuen Kartenstil. Mit der Element-Ebene wird festgelegt, welche Arten von Grenzen auf der Karte angezeigt werden (z. B. Orte, Bundesländer usw.).
- Rufen Sie in der Google Cloud Console die Seite Kartenstile auf.
- Wählen Sie ein Projekt aus, wenn Sie dazu aufgefordert werden.
- Wählen Sie einen Kartenstil aus.
- Klicken Sie auf das Drop-down-Menü Elementebenen, um Ebenen hinzuzufügen oder zu entfernen.
- Klicken Sie auf Speichern, um Ihre Änderungen zu speichern und für Ihre Karten verfügbar zu machen.
Initialisierungscode der Karte aktualisieren
Dazu ist die soeben erstellte Karten-ID erforderlich. Sie finden sie auf der Seite Kartenverwaltung an.
Wie Sie die Karten-ID in den Initialisierungscode einfügen, können Sie unter Karten-ID zur App hinzufügen nachlesen.
Zugriff auf eine Elementebene einer Karte erhalten
Sie verwenden eine FeatureLayer
zur Darstellung der einzelnen Feature-Ebenen einer Karte, wie z. B. eine Postleitzahl oder
Elementebene für Ort Um Zugriff auf ein Element-Layer-Objekt zu erhalten, rufen Sie
GoogleMap.getFeatureLayer()
wenn die Karte initialisiert wird:
Java
private FeatureLayer postalCodeLayer;
@Override public void onMapReady(GoogleMap map) { // Get the POSTAL_CODE feature layer. postalCodeLayer = map.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.POSTAL_CODE) .build()); ... }
Kotlin
private var postalCodeLayer: FeatureLayer? = null
override fun onMapReady(googleMap: GoogleMap) { // Get the POSTAL_CODE feature layer. postalCodeLayer = googleMap.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.POSTAL_CODE) .build()) ... }
Übergeben Sie ein FeatureLayerOptions
-Element
-Objekt zu getFeatureLayer()
, um den Typ der Elementebene anzugeben. In dieser
Beispiel: Sie möchten auf die Ebene POSTAL_CODE
zugreifen. Anderes erstellen
FeatureLayer
-Objekt für jede Ebene, die Sie gestalten möchten.
Sobald Sie das FeatureLayer
-Objekt haben, können Sie Stile auf die
Begrenzungspolygone erstellt werden.
Karten-Capabilities prüfen (erforderlich)
Für datengestützte Stile für Grenzen ist eine Karten-ID erforderlich. Wenn die Karten-ID fehlt oder ein
Ungültige Karten-ID übergeben, datengestützte Stile für Grenzen können nicht geladen werden. Als
zur Fehlerbehebung, können Sie
MapCapabilities
um zu prüfen, ob datengestützte Stile für Begrenzungen unterstützt werden.
Kotlin
val capabilities: MapCapabilities = googleMap.getMapCapabilities() System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable())
Java
MapCapabilities capabilities = googleMap.getMapCapabilities(); System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable());