Karten-IDs verwenden

Eine Karten-ID ist eine Kennung, die einem bestimmten Kartenstil oder -element zugeordnet ist. In der Google Cloud Console können Sie einen Kartenstil konfigurieren und ihn mit einer Karten-ID verknüpfen. Wenn Sie dann in Ihrem Code auf eine Karten-ID verweisen, wird der verknüpfte Kartenstil in Ihrer App angezeigt. Bei allen folgenden Aktualisierungen des Stils wird in Ihrer App automatisch der neue Stil verwendet, ohne dass Ihre Kunden Änderungen vornehmen müssen.

Bei der Erstellung werden Karten-IDs einem Projekt zugeordnet und auf eine einzelne Plattform (Android, iOS, JavaScript) oder die Maps Static API beschränkt.

So erstellen oder verwalten Sie Karten-IDs in der Cloud Console: muss das Projekt Project IAM-Rolle „Inhaber“ oder „Projektbearbeiter“

Erforderliche Berechtigungen

So erstellen oder verwalten Sie Karten-IDs oder Kartenstile in einer müssen Sie für jedes Google Cloud-Projekt entweder IAM-Rolle „Inhaber“ oder „Bearbeiter“ für das Projekt.

Karten-ID erstellen

Eine Karten-ID ist eine eindeutige Kennung, die eine einzelne Instanz eines Karte. Sie können jederzeit Karten-IDs erstellen und einen mit einer Karten-ID verknüpften Stil aktualisieren. in der Cloud Console angezeigt.

So erstellen Sie eine Karten-ID:

  1. Rufe in der Cloud Console die Seite Kartenverwaltung auf.
  2. Klicke auf Neue Karten-ID erstellen, um das gleichnamige Formular zu öffnen.
    Neue Karten-ID erstellen

    Im Formular

    • gibst du einen Kartennamen ein,
    • gibst du einen Kartentyp oder eine Plattform an,
    • wählst du – für JavaScript-Karten – den Typ „Rasterkarte“ oder „Vektorkarte“ aus,
    • geben Sie eine Beschreibung der Karte ein und
    • Wählen Sie Weiter aus, um die neue Karten-ID aufzurufen.

Karten-ID mit einem Kartenstil verknüpfen

In dieser Anleitung wird davon ausgegangen, dass in deinem Projekt mindestens ein Kartenstil vorhanden ist.

  1. Rufe in der Cloud Console die Seite Kartenverwaltung auf.
  2. Wählen Sie auf dieser Seite in der Spalte Kartenname eine vorhandene Karten-ID aus.
  3. Wähle unten in diesem Formular einen Kartenstil aus dem Drop-down-Menü Mit dieser Karten-ID verknüpfte Kartenstile aus.
  4. Klicken Sie auf Speichern.
    Screenshot mit der Detailseite für eine einzelne Karten-ID, einschließlich des Drop-down-Felds, über das Nutzer einen Kartenstil mit dieser Karten-ID verknüpfen können

Karten-ID zur App hinzufügen

Android

Fügen Sie Ihre Karten-ID über ein <fragment>-Element in der Layoutdatei über die Klasse MapView oder programmatisch mithilfe der GoogleMapOptions.

Angenommen, Sie haben eine Karten-ID erstellt, die als Stringwert map_id in res/values/strings.xml gespeichert ist:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="map_id">YOUR_MAP_ID</string>
</resources>

Bei Karten, die über ein <fragment>-Element in der Layoutdatei der Aktivität hinzugefügt werden, muss für alle Kartenfragmente, die den benutzerdefinierten Stil haben sollen, die Karten-ID im Attribut map:mapId angegeben werden:

<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
    class="com.google.android.gms.maps.SupportMapFragment"
    …
    map:mapId="@string/map_id" />

Sie können auch das Attribut map:mapId der Klasse MapView verwenden, um eine Karten-ID anzugeben:

<com.google.android.gms.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    ....
    map:mapId="@string/map_id" />

Wenn Sie eine Karten-ID programmatisch angeben möchten, übergeben Sie sie mithilfe der Klasse GoogleMapOptions an eine MapFragment-Instanz:

Java

 MapFragment mapFragment = MapFragment.newInstance(
     new GoogleMapOptions()
         .mapId(getResources().getString(R.string.map_id)));

Kotlin

 val mapFragment = MapFragment.newInstance(
     GoogleMapOptions()
         .mapId(resources.getString(R.string.map_id))
 )

Erstelle wie gewohnt deine App in Android Studio und führe sie aus. Benutzerdefinierte Stile, wie im ersten Schritt konfiguriert, werden auf alle Karten mit einer ID angewendet.

iOS

So instanziieren Sie eine Karte mithilfe einer Karten-ID:

  1. Erstellen Sie eine GMSMapID mit dem Karten-ID-String aus der Cloud Console.
  2. Erstellen Sie ein GMSMapView und geben Sie die soeben erstellte Karten-ID an.

Swift

let camera = GMSCameraPosition(latitude: 47.0169, longitude: -122.336471, zoom: 12)
let mapID = GMSMapID(identifier: "<YOUR MAP ID>")
let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: camera)
self.view = mapView

Objective-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.0169
                                                        longitude:-122.336471
                                                             zoom:12];
GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"<YOUR MAP ID>"];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:camera];
self.view = mapView;

Wenn Sie Ihre eigene Karten-ID verwenden, können Sie diese festlegen. in der Cloud Console, um jederzeit einen neuen Stil zu verwenden, und wird dieser Stil automatisch für Sie und innerhalb von sechs Stunden.

Wenn Sie die Änderungen sofort sehen möchten, schließen Sie den Editor und starten Sie ihn Ihre App, indem Sie sie beenden, wodurch das Beenden der App über die kürzlich verwendete App-Liste und öffnen Sie sie dann noch einmal. Die aktualisierte Karte ist dann sichtbar.

JavaScript

So erstellen Sie eine Karte mit einer Karten-ID in Ihrem Anwendungscode:

  1. Wenn Sie Ihre Karte derzeit mit eingebettetem JSON-Code anpassen, entfernen Sie den styles-Property vom MapOptions-Objekt entfernt; Andernfalls überspringen Sie diesen Schritt.

  2. Fügen Sie der Karte mithilfe der Eigenschaft mapId eine Karten-ID hinzu. Beispiel:

map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8,
mapId: 'MAP_ID'
});

Maps Static

Um eine Karten-ID zu einer neuen oder vorhandenen Karte hinzuzufügen, die eine unserer Webservice-APIs verwenden, hängen Sie den URL-Parameter map_id an und legen Sie ihn auf Ihre Karten-ID fest. In diesem Beispiel wird gezeigt, wie einer Karte mithilfe der Maps Static API eine Karten-ID hinzugefügt wird.

<img src="https://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=13&size=600x300&maptype=roadmap&markers=color:blue%7Clabel:S%7C40.702147,-74.015794&markers=color:green%7Clabel:G%7C40.711614,-74.012318&markers=color:red%7Clabel:C%7C40.718217,-73.998284&key=YOUR_API_KEY&map_id=YOUR_MAP_ID&signature=YOUR_SIGNATURE" />

Eine Karte mit der Brooklyn Bridge in New York City, New York, USA, mit Steuerelementen unten rechts. Auf der Karte werden benutzerdefinierte Stile für Straßen, Gewässer und Land angezeigt.

Wenn die Maps Static-URL bereits eine digitale Signatur enthält, bevor Sie die Karten-ID hinzufügen, müssen Sie zunächst eine und fügen Sie eine neue digitale Signatur hinzu, nachdem Sie die Karten-ID hinzugefügt haben. Denken Sie beim Generieren Ihres neuen URL-Signatur-Secret daran, das vorherige eine digitale Signatur aus der URL.

Bei Verwendung von Karten-IDs verfügbare Funktionen

Cloudbasiertes Gestalten von Karteninhalten: Mit der Google Cloud Console Karten gestalten, anpassen und verwalten
Verfügbar auf allen Plattformen (Android, JavaScript, iOS und Maps Static API)

Vektorkarten: eine Karte, die aus vektorbasierten Kacheln besteht, die beim Laden gezeichnet werden auf Client-Seite mit WebGL.
Verfügbar auf JavaScript