Leitfaden und Beispiele für die Map Management API

Mit der Map Management API können Sie Ihre cloudbasierten Kartenstilressourcen mithilfe von RESTful APIs verwalten.

Zusammenfassung der Schritte

  1. Erstellen Sie in der Cloud Console eine Karten -ID (beschränkt auf JavaScript-basierte Vektorkarten).
  2. Erstellen Sie in der Cloud Console einen Karten stil. Ein Kartenstil dient als Verknüpfung zwischen einer Karten-ID und einem Dataset.
  3. Erstellen Sie entweder in der Cloud Console oder mit der Maps Datasets API ein Dataset.
  4. Verknüpfen Sie mit der Map Management API das Dataset mit der Stil-ID.
  5. Verwenden Sie die Karten-ID in einer Anwendung (JS, iOS oder Android) und gestalten Sie Dataset-Features mit der Data-driven Styling API.

Typen

DatasetStyleAssociation

Typ: Objekt/Proto

Kapselt die Beziehung zwischen einem vorhandenen Dataset und einem vorhandenen Clientstil.

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

Beispielaufrufe in C++

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 zum Auflisten von Endpunkten

<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 : Bei diesen Fehlern wird immer angegeben, für welche Ressource der Zugriff verweigert wurde. Beispiel: 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. einen Stil, ein Dataset oder ein Projekt.

  • INVALID_ARGUMENT: Die Anfrage ist fehlerhaft.