Utiliser des ID de carte
Un ID de carte est un identifiant associé à un style de carte ou un élément géographique spécifique. Configurez un style de carte et associez-le à un ID de carte dans la console Google Cloud. Ensuite, lorsque vous référencez un ID de carte dans votre code, le style de carte qui lui est associé s'affiche dans votre application. Toutes les modifications de style apportées par la suite apparaissent automatiquement dans votre application, sans que vos clients aient besoin d'effectuer des mises à jour.
Lors de leur création, les ID de carte sont associés à un projet et sont également limitée à une seule plate-forme (Android, iOS, JavaScript) ou à l'API Maps Static.
Pour créer ou gérer des ID de carte dans la console Cloud, vous devez doit disposer du rôle Projet rôle IAM "Propriétaire" ou "Éditeur de projet"
Autorisations requises
Pour créer ou gérer des ID ou des styles de carte dans une pour un projet Google Cloud donné, vous devez détenir Rôle IAM de propriétaire ou d'éditeur sur le projet.
Créer un ID de carte
Un ID de carte est un identifiant unique qui représente une seule instance d'une propriété Carte. Vous pouvez créer des ID de carte et mettre à jour un style associé à un ID de carte à tout moment dans la console Cloud.
Pour créer un ID de carte:
- Dans Cloud Console, accédez à la page Gestion Maps.
- Cliquez sur Créer un ID de carte pour afficher le formulaire Créer un ID de carte.
Dans le formulaire, procédez comme suit :
- Spécifiez un nom de carte.
- Spécifiez un type de carte ou une plate-forme.
- Pour les cartes JavaScript, choisissez le type matriciel ou vectoriel.
- Saisissez une description pour la carte.
- Sélectionnez Suivant pour afficher le nouvel ID de carte.
Associer un ID de carte à un style de carte
Dans ces instructions, nous partons du principe que votre projet contient au moins un style de carte.
- Dans Cloud Console, accédez à la page Gestion Maps.
- Sur cette page, sélectionnez un ID de carte existant dans la colonne Nom de la carte.
- En bas du formulaire, choisissez un style de carte dans le menu déroulant Styles de carte associés à cet ID de carte.
- Sélectionnez Enregistrer.
Ajouter l'ID de carte à votre application
Android
Ajoutez votre ID de carte à l'aide d'un élément <fragment>
dans le fichier
de mise en page, à l'aide de la classe MapView
, ou de manière automatisée à l'aide du
GoogleMapOptions
.
Par exemple, supposons que vous ayez créé un ID de carte stocké sous la forme d'une valeur de chaîne nommée map_id
dans res/values/strings.xml
:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="map_id">YOUR_MAP_ID</string>
</resources>
Pour les cartes ajoutées via un élément <fragment>
dans le fichier de mise en page de l'activité, tous les fragments de carte censés être associés au style personnalisé doivent spécifier l'ID de carte dans l'attribut map:mapId
:
<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
class="com.google.android.gms.maps.SupportMapFragment"
…
map:mapId="@string/map_id" />
Vous pouvez également utiliser l'attribut map:mapId
de la classe MapView
pour spécifier un ID de carte :
<com.google.android.gms.maps.MapView
xmlns:android="http://schemas.android.com/apk/res/android"
....
map:mapId="@string/map_id" />
Pour spécifier un ID de carte de manière programmatique, transmettez-le à une instance MapFragment
à l'aide de la classe GoogleMapOptions
:
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))
)
Dans Android Studio, créez et exécutez votre application comme vous le faites d'habitude. Les styles personnalisés tels que configurés à la première étape seront appliqués à toutes les cartes avec un ID.
iOS
Pour instancier une carte à l'aide d'un ID de carte, procédez comme suit:
- Créez un
GMSMapID
avec la chaîne d'ID de carte à partir de la console Cloud. - Créez un
GMSMapView
en spécifiant l'ID de carte que vous venez de créer.
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;
Si vous utilisez votre propre ID de carte, vous pouvez le définir dans la console Cloud pour adopter un nouveau style à tout moment. Ce style s'appliquera automatiquement à la vue de la carte en six heures environ.
Si vous voulez voir les modifications immédiatement, vous pouvez fermer et redémarrer votre application en la quittant, forçant ainsi l'arrêt de l'application récemment utilisée. de la liste des applications, puis rouvrez-la. La carte mise à jour sera alors visible.
JavaScript
Pour créer une carte avec un ID de carte dans le code de votre application:
Si vous personnalisez actuellement votre carte avec du code JSON intégré, supprimez le Propriété
styles
de votre objetMapOptions
. sinon, ignorez cette étape.Ajoutez un ID de carte à la carte en utilisant la propriété
mapId
. Exemple :
map = new google.maps.Map(document.getElementById('map'), { center: {lat: -34.397, lng: 150.644}, zoom: 8, mapId: 'MAP_ID' });
Maps Static
Pour ajouter un ID de carte à une carte nouvelle ou existante qui utilise l'un de nos
les API de services Web, ajoutez le paramètre d'URL map_id
et définissez-le sur votre ID de carte.
Cet exemple montre comment ajouter un ID de carte à une carte à l'aide de l'API Maps Static.
<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" />
Fonctionnalités disponibles lorsque vous utilisez des ID de carte
styles de cartes basés dans le cloud: stylisez, personnalisez et gérez vos cartes à l'aide de la console Google Cloud.
Disponible sur toutes les plates-formes (Android, JavaScript, iOS et API Maps Static)
Cartes vectorielles: carte composée de tuiles basées sur les vecteurs, qui s'affichent au moment du chargement
côté client à l'aide de WebGL.
Disponible sur JavaScript