Guida ed esempi dell'API Map Management

L'API di gestione delle mappe ti consente di gestire le risorse di personalizzazione delle mappe basata su cloud utilizzando le API RESTful.

Riepilogo dei passaggi

  1. Utilizza la console Cloud per creare un ID mappa (limitato alle mappe vettoriali basate su JavaScript).
  2. Utilizza la console Cloud per creare uno stile di mappa. Uno stile di mappa viene utilizzato come collegamento tra un ID mappa e un set di dati.
  3. Utilizza la console Cloud o l'API Maps Datasets per creare un set di dati.
  4. Utilizza l'API di gestione delle mappe per associare il set di dati all'ID dello stile.
  5. Utilizza l'ID mappa in un'applicazione (JS, iOS o Android) e l'API per lo stile basato sui dati per applicare uno stile alle funzionalità del set di dati.

Tipi

DatasetStyleAssociation

Tipo: oggetto/proto

Incapsula la relazione tra un set di dati esistente e uno stile client esistente.

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;

Metodi

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";
  }

Esempio di chiamate C++

Esempio di chiamata per creare un endpoint

<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>

Esempio di chiamata per elencare gli endpoint

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

Esempio di chiamata per elencare le mappe associate

<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>

Esempio di chiamata per eliminare un endpoint

<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>

Errori

  • PERMISSION_DENIED : questi errori descrivono sempre in dettaglio a quale risorsa è stato negato l'accesso. Ad esempio, quando l'API non è abilitata per il progetto fornito.

  • ALREADY_EXISTS: attivato da una chiamata Create quando DatasetStyleAssociation esiste già.

  • NOT_FOUND: attivato da uno dei metodi sopra indicati quando si tenta di accedere a una risorsa inesistente, ad esempio uno stile, un set di dati o un progetto.

  • INVALID_ARGUMENT: la richiesta ha un formato errato.