Guide et exemples de l'API Map Management

L'API Map Management vous permet de gérer vos ressources de style de cartes basées dans le cloud à l'aide d'API RESTful.

Résumé des étapes

  1. Utilisez la console Cloud pour créer un ID de carte (limité aux cartes vectorielles JavaScript).
  2. Utilisez la console Cloud pour créer un style de carte. Un style de carte est utilisé comme lien entre un ID de carte et un ensemble de données.
  3. Utilisez la console Cloud ou l'API Maps Datasets pour créer un ensemble de données.
  4. Utilisez l'API Map Management pour associer l'ensemble de données à l'ID de style.
  5. Utilisez l'ID de carte dans une application (JS, iOS ou Android) et l'API de style basé sur les données pour styliser les caractéristiques de l'ensemble de données.

Types

DatasetStyleAssociation

Type : Objet/Proto

Encapsule la relation entre un ensemble de données existant et un style client existant.

message DatasetStyleAssociation {
  option (google.api.resource) = {
    type: "mapstyling.googleapis.com/DatasetStyleAssociation"
    pattern: "projects/{project}/datasets/{dataset}/clientStyles/{client_style}"
    plural: "datasetStyleAssociations",
    singular: "datasetStyleAssociation"
  };

  // Resource name.
  // projects/{project}/datasets/{dataset}/clientStyles/{client_style}
  string name = 1;

  // The resource name of the style.
  // projects/{project}/clientStyles/{client_style}
  string client_style = 2;

Méthodes

CreateDatasetStyleAssociation

  rpc CreateDatasetStyleAssociation(CreateDatasetStyleAssociationRequest)
      returns (DatasetStyleAssociation) {
    option (google.api.http) = {
      post: "/v1/{parent=projects/*/datasets/*}"
      body: "dataset_style_association"
    };
    option (google.api.method_signature) =  parent,dataset_style_association";
  }

ListDatasetStyleAssociations

  rpc ListDatasetStyleAssociations(ListDatasetStyleAssociationsRequest)
      returns (ListDatasetStyleAssociationsResponse) {
    option (google.api.http) = {
      get: "/v1/{parent=projects/*/datasets/*}"
    };
    option (google.api.method_signature) = "parent";
  }

DeleteDatasetStyleAssociation

   rpc DeleteDatasetStyleAssociation(DeleteDatasetStyleAssociationRequest)
      returns (google.protobuf.Empty) {
    option (google.api.http) = {
      post: "/v1/{name=projects/*/datasets/*/clientStyles/*}:delete"
      body: "*"
    };
    option (google.api.method_signature) = "name";
  }

Exemples d'appels C++

Exemple d'appel pour créer un point de terminaison

<pre>curl --http2 -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer <Token>' https://mapmanagement.googleapis.com/v1/projects/<Project_Number>/datasets/{dataset_id} -d '{name: "projects/{project_number}/datasets/{dataset_id}/clientStyles/{style_id}", client_style: "projects/{project_number}/clientStyles/{style_id}" }'</pre>

Exemple d'appel au point de terminaison de la liste

<pre>curl --http2 -X GET -H 'Content-Type: application/json' -H 'Authorization: Bearer <Token>'   https://mapmanagement.googleapis.com/v1/projects/<Project_Number>/datasets/-</pre>

Exemple d'appel pour lister les cartes associées

<pre>curl --http2 -X GET -H 'Content-Type: application/json' -H 'Authorization: Bearer  <Token>' https://mapmanagement.googleapis.com/v1/projects/<Project_Number>/datasets/<dataset-id>/clientStyles/<style_id>:listAssociatedMaps</pre>

Exemple d'appel pour supprimer un point de terminaison

<pre>curl --http2 -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer <Token>' https://mapmanagement.googleapis.com/v1/projects/<Project_Number>/datasets/<dataset_id>/clientStyles/<style_id>:delete -d '{"map_ids": ["map-id-1", "map-id-2"]}'</pre>

Erreurs

  • PERMISSION_DENIED : ces erreurs indiquent toujours l'accès aux ressources qui est refusé. Par exemple, lorsque l'API n'est pas activée pour le projet fourni.

  • ALREADY_EXISTS : déclenchée par un appel Create lorsque DatasetStyleAssociation existe déjà.

  • NOT_FOUND : déclenchée par l'une des méthodes ci-dessus lorsqu'une tentative d'accès à une ressource inexistante est effectuée, comme un style, un ensemble de données ou un projet.

  • INVALID_ARGUMENT : la requête est mal formée.