Guia e exemplos da API Map Management

A API Map Management permite gerenciar seus recursos de estilização de mapas baseada na nuvem usando APIs RESTful.

Resumo das etapas

  1. Use o console do Cloud para criar um ID de mapa (limitado a mapas vetoriais em JavaScript).
  2. Use o console do Cloud para criar um estilo de mapa. Um estilo de mapa é usado como o link entre um ID do mapa e um conjunto de dados.
  3. Use o Console do Cloud ou a API Maps Datasets para criar um conjunto de dados.
  4. Use a API Map Management para associar o conjunto de dados ao ID do estilo.
  5. Use o ID do mapa em um aplicativo (JS, iOS ou Android) e a API de estilo com base em dados para estilizar os recursos do conjunto de dados.

Tipos

DatasetStyleAssociation

Tipo: objeto/proto

Encapsula a relação entre um conjunto de dados e um ClientStyle.

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

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

Exemplo de chamadas em C++

Exemplo de chamada para criar 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>

Exemplo de chamada para o endpoint de lista

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

Exemplo de chamada para listar mapas associados

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

Exemplo de chamada para excluir 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>

Erros

  • PERMISSION_DENIED : esses erros sempre detalham qual acesso ao recurso foi negado. Por exemplo, quando a API não está ativada para o projeto fornecido.

  • ALREADY_EXISTS: acionado por uma chamada "Create" quando o DatasetStyleAssociation já existe.

  • NOT_FOUND: acionado por qualquer um dos métodos acima quando uma tentativa é feita para acessar um recurso que não existe, como um estilo, conjunto de dados ou projeto.

  • INVALID_ARGUMENT: o formato da solicitação está incorreto.