Przewodnik i przykłady interfejsu Map Management API

Interfejs Map Management API umożliwia zarządzanie zasobami stylów map w Google Cloud za pomocą interfejsów API typu REST.

Podsumowanie kroków

  1. Za pomocą konsoli Cloud utwórz identyfikator mapy (dotyczy tylko map wektorowych opartych na JavaScript).
  2. Za pomocą konsoli Google Cloud utwórz styl mapy. Styl mapy służy jako połączenie między identyfikatorem mapy a zbiorem danych.
  3. Utwórz zbiór danych za pomocą konsoli Cloud lub interfejsu Maps Datasets API.
  4. Użyj interfejsu Map Management API, aby powiązać zbiór danych z identyfikatorem stylu.
  5. Użyj identyfikatora mapy w aplikacji (JS, iOS lub Android) i API stylu opartego na danych, aby określić styl elementów zbioru danych.

Typy

DatasetStyleAssociation

Typ: obiekt/prototyp

Zawiera relację między istniejącym zbiorem danych a istniejącym stylem klienta.

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;

Metody

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

Przykładowe wywołania w C++

Przykładowe wywołanie do utworzenia punktu końcowego

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

Przykładowe wywołanie punktu końcowego listy

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

Przykładowe wywołanie do wyświetlania powiązanych map

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

Przykładowe wywołanie usuwania punktu końcowego

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

Błędy

  • PERMISSION_DENIED : te błędy zawsze szczegółowo opisują, do których zasobów odmówiono dostępu. Na przykład gdy interfejs API nie jest włączony w podanym projekcie.

  • ALREADY_EXISTS: wywoływany przez wywołanie Create, gdy element DatasetStyleAssociation już istnieje.

  • NOT_FOUND: wywoływany przez dowolną z powyższych metod, gdy podjęta zostanie próba uzyskania dostępu do zasobu, który nie istnieje, np. stylu, zbioru danych lub projektu.

  • INVALID_ARGUMENT: żądanie ma nieprawidłowy format.