Guida ed esempi dell'API Map Management

L'API Map Management ti consente di gestire le risorse di personalizzazione delle mappe basate 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 della mappa. Uno stile di mappa viene utilizzato come collegamento tra un ID mappa e un set di dati.
  3. Utilizza Cloud Console o l'API Maps Datasets per creare un set di dati.
  4. Utilizza l'API Map Management per associare il set di dati all'ID stile.
  5. Utilizza l'ID mappa in un'applicazione (JS, iOS o Android) e utilizza l'API per lo stile basato sui dati per applicare uno stile agli elementi 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";
  }

Esempi di chiamate C++

Esempio di chiamata per creare l'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 all'endpoint dell'elenco

<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 l'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 specificano sempre l'accesso alle risorse negato. 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 qualsiasi dei metodi precedenti quando viene effettuato un tentativo di accedere a una risorsa inesistente, ad esempio uno stile, un set di dati o un progetto.

  • INVALID_ARGUMENT: la richiesta non è valida.