您可以使用 Map Management API 以程序化方式管理云端地图样式设置资源,包括 v2alpha(实验性)和 v2beta(预览版)端点。
运营摘要
如需使用地图管理 API 可视化自定义地图,请按以下关键步骤操作:
- 创建 StyleConfig:使用颜色、可见性和密度设置的 JSON 表示形式定义地图的视觉外观。
- 创建 MapConfig:建立一个唯一的地图 ID,作为地图身份和高级功能的容器。
- 将它们与 MapContextConfig 相关联:将您的
StyleConfig(以及可选的数据集)与MapConfig中的特定地图变体(例如ROADMAP或SATELLITE)相关联。
默认行为
使用 v2 端点时,请注意以下默认行为:
- 地图类型:默认地图渲染类型为
RASTER。如需使用基于矢量的地图,您必须在MapConfig中将map_type明确设置为VECTOR。 - 映射变体:如果在创建
MapContextConfig时未指定任何map_variants,则默认情况下,配置仅适用于ROADMAP变体。 - 基础样式:如果
StyleConfig中的json_style_sheet为空或未提供,则系统将使用默认的无样式 Google 基本地图。
使用 StyleConfig
StyleConfig 包含基于 JSON 的样式定义。
创建 StyleConfig
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/styleConfigs \
-d '{
"display_name": "My Custom Style",
"json_style_sheet": "[{\"featureType\":\"all\",\"stylers\":[{\"saturation\":-100}]}]"
}'列出 StyleConfig
curl -X GET \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/styleConfigs
使用 MapConfig
MapConfig 用于定义地图的身份和核心渲染类型。
创建 MapConfig
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/mapConfigs \
-d '{
"display_name": "My New Map",
"map_type": "VECTOR"
}'使用 MapContextConfig
MapContextConfig 将样式与 MapConfig 相关联。
创建 MapContextConfig
curl -X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json" \
https://mapmanagement.googleapis.com/v2beta/projects/YOUR_PROJECT_ID/mapConfigs/YOUR_MAP_ID/mapContextConfigs \
-d '{
"style_config": "projects/YOUR_PROJECT_ID/styleConfigs/YOUR_STYLE_ID",
"map_variants": ["ROADMAP", "NAVIGATION"]
}'错误
- PERMISSION_DENIED:相应请求缺少足够的 IAM 权限,或者项目未启用相应 API。
- NOT_FOUND:指定的资源(项目、MapConfig 或 StyleConfig)不存在。
- INVALID_ARGUMENT:请求正文格式有误或包含无效的字段值。