Guía y ejemplos de la API de Map Management

La API de Map Management te permite administrar tus recursos de diseño de mapas basados en Cloud con APIs de REST.

Resumen de los pasos

  1. Usa la consola de Cloud para crear un ID de mapa (limitado a mapas basados en vectores de JavaScript).
  2. Usa la consola de Cloud para crear un diseño de mapa. Un diseño de mapa se usa como vínculo entre un ID de mapa y un conjunto de datos.
  3. Usa la consola de Cloud o la API de Maps Datasets para crear un conjunto de datos.
  4. Usa la API de Map Management para asociar el conjunto de datos con el ID de diseño.
  5. Usa el ID del mapa en una aplicación (JS, iOS o Android) y la API de diseño basado en datos para aplicar estilos a los componentes del conjunto de datos.

Tipos

DatasetStyleAssociation

Tipo: Object/Proto

Encapsula la relación entre un conjunto de datos existente y un diseño del cliente existente.

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

Ejemplo de llamadas en C++

Llamada de muestra para crear un extremo

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

Llamada de muestra al extremo 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>

Ejemplo de llamada a List Associated Maps

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

Llamada de muestra para borrar el extremo

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

Errores

  • PERMISSION_DENIED : Estos errores siempre detallan a qué recurso se deniega el acceso. Por ejemplo, cuando la API no está habilitada para el proyecto proporcionado.

  • ALREADY_EXISTS: Se activa con una llamada a Create cuando ya existe DatasetStyleAssociation.

  • NOT_FOUND: Se activa con cualquiera de los métodos anteriores cuando se intenta acceder a un recurso que no existe, como un diseño, un conjunto de datos o un proyecto.

  • INVALID_ARGUMENT: La solicitud tiene un formato incorrecto.