Leitfaden und Beispiele für die Map Management API

Mit der Map Management API können Sie Ihre cloudbasierten Ressourcen für das Gestalten von Karteninhalten mithilfe von RESTful APIs verwalten.

Zusammenfassung der Schritte

  1. Erstellen Sie eine Karten-ID in der Cloud Console (nur für JavaScript-Vektorkarten).
  2. Erstellen Sie mit der Cloud Console einen Kartenstil. Ein Kartenstil wird als Verbindung zwischen einer Karten-ID und einem Dataset verwendet.
  3. Verwenden Sie entweder die Cloud Console oder die Maps Datasets API, um ein Dataset zu erstellen.
  4. Verwenden Sie die Map Management API, um das Dataset mit der Stil-ID zu verknüpfen.
  5. Verwenden Sie die Karten-ID in einer Anwendung (JS, iOS oder Android) und die API für datengestützte Stile, um Dataset-Elemente zu gestalten.

Typen

DatasetStyleAssociation

Typ: Objekt/Proto

Kapselt die Beziehung zwischen einem vorhandenen Dataset und einem vorhandenen Client-Stil.

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;

Methoden

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

Beispiel für C++-Aufrufe

Beispielaufruf zum Erstellen eines Endpunkts

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

Beispielaufruf des List-Endpunkts

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

Beispielaufruf zum Auflisten verknüpfter Karten

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

Beispielaufruf zum Löschen eines Endpunkts

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

Fehler

  • PERMISSION_DENIED : Diese Fehler enthalten immer Details dazu, welcher Ressourcenzugriff verweigert wird. Das kann beispielsweise der Fall sein, wenn die API für das angegebene Projekt nicht aktiviert ist.

  • ALREADY_EXISTS: Wird durch einen Create-Aufruf ausgelöst, wenn die DatasetStyleAssociation bereits vorhanden ist.

  • NOT_FOUND: Wird durch eine der oben genannten Methoden ausgelöst, wenn versucht wird, auf eine nicht vorhandene Ressource zuzugreifen, z. B. auf einen Stil, ein Dataset oder ein Projekt.

  • INVALID_ARGUMENT: Die Anfrage ist fehlerhaft.