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 mit einem Projekt verknüpft und sind außerdem auf eine einzelne Plattform (Android, iOS, JavaScript) oder die Maps Static API beschränkt.
Zum Erstellen oder Verwalten von Karten-IDs in der Cloud Console benötigen Sie die IAM-Rolle „Projektinhaber“ oder „Projektbearbeiter“.
Erforderliche Berechtigungen
Zum Erstellen oder Verwalten von Karten-IDs oder Kartenstilen in einem bestimmten Google Cloud-Projekt benötigen Sie für das Projekt entweder die IAM-Rolle „Inhaber“ oder „Bearbeiter“.
Karten-ID erstellen
Eine Karten-ID ist eine eindeutige Kennung, die eine einzelne Instanz einer Google Maps-Karte darstellt. In der Cloud Console können Sie jederzeit Karten-IDs erstellen und einen mit einer Karten-ID verknüpften Stil aktualisieren.
So erstellen Sie eine Karten-ID:
- Rufe in der Cloud Console die Seite Kartenverwaltung auf.
- Wähle Neue Karten-ID erstellen aus, um das Formular Neue Karten-ID erstellen aufzurufen.
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 sich die neue Karten-ID anzusehen.
Karten-ID mit einem Kartenstil verknüpfen
In dieser Anleitung wird davon ausgegangen, dass in deinem Projekt mindestens ein Kartenstil vorhanden ist.
- Rufe in der Cloud Console die Seite Kartenverwaltung auf.
- Wählen Sie auf dieser Seite in der Spalte Kartenname eine vorhandene Karten-ID aus.
- Wähle unten in diesem Formular einen Kartenstil aus dem Drop-down-Menü Mit dieser Karten-ID verknüpfte Kartenstile aus.
- Klicken Sie auf Speichern.
Karten-ID zur App hinzufügen
Android
Fügen Sie Ihre Karten-ID über ein <fragment>
-Element in der Layoutdatei der Aktivität über die Klasse MapView
oder programmatisch über die Klasse GoogleMapOptions
hinzu.
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:
- Erstellen Sie in der Cloud Console eine
GMSMapID
mit dem Karten-ID-String. - Erstellen Sie ein
GMSMapView
und geben Sie dabei die Karten-ID an, die Sie gerade erstellt haben.
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 eine eigene Karten-ID verwenden, können Sie in der Cloud Console jederzeit einen neuen Stil für die Karten-ID festlegen. Dieser Stil wird dann innerhalb von etwa sechs Stunden automatisch in der Kartenansicht für Sie und Ihre Nutzer übernommen.
Wenn Sie die Änderungen sofort sehen möchten, können Sie die App schließen und neu starten. Schließen Sie dazu die App, erzwingen Sie das Beenden der App aus der Liste der kürzlich verwendeten Apps und öffnen Sie sie dann wieder. Die aktualisierte Karte ist dann sichtbar.
JavaScript
So erstellen Sie eine Karte mit einer Karten-ID in Ihrem Anwendungscode:
Wenn Sie die Karte derzeit mit eingebettetem JSON-Code anpassen, entfernen Sie das Attribut
styles
aus demMapOptions
-Objekt. Andernfalls lassen Sie diesen Schritt aus.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
Wenn Sie einer neuen oder vorhandenen Karte, für die eine unserer Webservice-APIs verwendet wird, eine Karten-ID hinzufügen möchten, hängen Sie den URL-Parameter map_id
an und legen Sie ihn auf Ihre Karten-ID fest.
In diesem Beispiel wird mithilfe der Maps Static API eine Karten-ID zu einer Karte hinzugefügt.
<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" />
Verfügbare Funktionen bei der Verwendung von Karten-IDs
Cloudbasiertes Gestalten von Karteninhalten: Mit der Google Cloud Console können Sie Ihre 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 zum Laden auf der Clientseite mithilfe von WebGL gezeichnet werden.
Verfügbar auf JavaScript