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
- Erstellen Sie eine Karten-ID in der Cloud Console (nur für JavaScript-Vektorkarten).
- Erstellen Sie mit der Cloud Console einen Kartenstil. Ein Kartenstil wird als Verbindung zwischen einer Karten-ID und einem Dataset verwendet.
- Verwenden Sie entweder die Cloud Console oder die Maps Datasets API, um ein Dataset zu erstellen.
- Verwenden Sie die Map Management API, um das Dataset mit der Stil-ID zu verknüpfen.
- 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.