借助地图管理 API,您可以使用 RESTful API 管理云端地图样式设置资源。
步骤摘要
- 使用 Cloud 控制台创建地图 ID (仅限基于 JavaScript 矢量的地图)。
- 使用 Cloud 控制台 创建地图 样式。地图样式用作地图 ID 和数据集之间的链接。
- 使用 Cloud 控制台或 Maps 数据集 API 来 创建 数据集。
- 使用地图管理 API 将数据集与样式 ID 相关联。
- 在应用(JS、iOS 或 Android)中使用地图 ID,并使用数据驱动型样式 API 设置数据集要素的样式。
类型
DatasetStyleAssociation
类型:对象/Proto
封装了现有数据集与现有客户端样式之间的关系。
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:当 DatasetStyleAssociation 已存在时,由 Create 调用触发。
NOT_FOUND:当尝试访问不存在的资源(例如样式、数据集或项目)时,由上述任何方法触发。
INVALID_ARGUMENT:请求格式有误。