API управления картами позволяет управлять ресурсами оформления облачных карт с помощью RESTful API.
Краткое описание шагов
- Используйте консоль Cloud для создания идентификатора карты (только для векторных карт на основе JavaScript).
- Используйте консоль Cloud для создания стиля карты . Стиль карты используется в качестве связи между идентификатором карты и набором данных.
- Для создания набора данных используйте либо консоль Cloud Console, либо API Maps Datasets.
- Используйте API управления картами, чтобы связать набор данных с идентификатором стиля.
- Используйте идентификатор карты в приложении (JS, iOS или Android) и воспользуйтесь API стилизации на основе данных для оформления объектов набора данных.
Типы
Ассоциация стиля набора данных
Тип: Объект/Прототип
Описывает взаимосвязь между существующим набором данных и существующим стилем оформления заказа.
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;
Методы
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";
}
Примеры вызовов C++
Пример вызова для создания конечной точки
<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>
Пример вызова конечной точки списка
<pre>curl --http2 -X GET -H 'Content-Type: application/json' -H 'Authorization: Bearer <Token>' https://mapmanagement.googleapis.com/v1/projects/<Project_Number>/datasets/-</pre>
Пример запроса на отображение связанных карт.
<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>
Пример вызова функции удаления конечной точки
<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>
Ошибки
PERMISSION_DENIED: В этих ошибках всегда указывается, к какому ресурсу запрещен доступ. Например, если API не включен для указанного проекта.
ALREADY_EXISTS: Срабатывает при вызове метода Create, если ассоциация DatasetStyleAssociation уже существует.
NOT_FOUND: Эта ошибка срабатывает при попытке доступа к несуществующему ресурсу, такому как стиль, набор данных или проект, независимо от того, какой он есть.
INVALID_ARGUMENT: Запрос имеет некорректный формат.