คู่มือและตัวอย่าง Map Management API

คุณสามารถใช้ Map Management API เพื่อจัดการทรัพยากรการจัดรูปแบบแผนที่ในระบบคลาวด์แบบเป็นโปรแกรมได้ทั้งในปลายทาง v2alpha (ทดลอง) และ v2beta (ตัวอย่าง)

สรุปการดำเนินการ

หากต้องการแสดงภาพแผนที่แบบกำหนดเองด้วย Map Management API ให้ทำตามขั้นตอนสำคัญต่อไปนี้

  1. สร้าง StyleConfig: กำหนดลักษณะที่ปรากฏของแผนที่โดยใช้การแสดงสี ระดับการมองเห็น และการตั้งค่าความหนาแน่นในรูปแบบ JSON
  2. สร้าง MapConfig: สร้างรหัสแผนที่ที่ไม่ซ้ำกันซึ่งทำหน้าที่เป็นคอนเทนเนอร์ สำหรับข้อมูลประจำตัวและฟีเจอร์ระดับสูงของแผนที่
  3. เชื่อมโยงกับ MapContextConfig: ลิงก์ StyleConfig (และชุดข้อมูลที่ไม่บังคับ) กับรูปแบบแผนที่ต่างๆ (เช่น ROADMAP หรือ SATELLITE) ภายใน MapConfig

ลักษณะการทำงานเริ่มต้น

เมื่อใช้ปลายทาง v2 โปรดคํานึงถึงลักษณะการทํางานเริ่มต้นต่อไปนี้

  • ประเภทแผนที่: ประเภทการแสดงแผนที่เริ่มต้นคือ RASTER หากต้องการใช้แผนที่แบบเวกเตอร์ คุณต้องตั้งค่า map_type เป็น VECTOR อย่างชัดเจนใน MapConfig
  • แมปตัวแปร: หากไม่ได้ระบุ map_variants เมื่อสร้าง MapContextConfig ระบบจะใช้การกำหนดค่ากับตัวแปร ROADMAP โดยค่าเริ่มต้นเท่านั้น
  • การจัดรูปแบบพื้นฐาน: หาก json_style_sheet ว่างเปล่าหรือไม่ได้ระบุใน StyleConfig ระบบจะใช้แผนที่ฐานของ Google ที่ไม่มีการจัดรูปแบบเป็นค่าเริ่มต้น

การทำงานกับ StyleConfigs

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

การทำงานกับ MapContextConfigs

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: ไม่มีทรัพยากรที่ระบุ (Project, MapConfig หรือ StyleConfig)
  • INVALID_ARGUMENT: เนื้อหาคำขอมีรูปแบบไม่ถูกต้องหรือมีค่าฟิลด์ที่ไม่ถูกต้อง