การอ้างอิง JSON สำหรับการจัดรูปแบบแผนที่ในระบบคลาวด์

เลือกแพลตฟอร์ม: Android iOS JavaScript เว็บเซอร์วิส

สคีมา JSON สำหรับการจัดรูปแบบแผนที่ในระบบคลาวด์ช่วยให้คุณใช้ JSON เพื่อปรับแต่งแผนที่ได้เช่นเดียวกับการใช้อินเทอร์เฟซของเครื่องมือแก้ไขสไตล์ เอกสารนี้อธิบายสคีมา JSON และวิธีสร้างการประกาศรูปแบบ JSON

downloadดาวน์โหลดสคีมา JSON

หากต้องการทราบวิธีแก้ไขรูปแบบแผนที่โดยใช้ JSON ภายในเครื่องมือแก้ไขสไตล์ หรือจะนำเข้าและส่งออกรูปแบบแผนที่ โปรดดูที่ ใช้ JSON กับการจัดรูปแบบแผนที่ในระบบคลาวด์

ดูตัวอย่างการประกาศรูปแบบ JSON

การประกาศรูปแบบ JSON ต่อไปนี้จะตั้งค่าสีพื้นหลัง จากนั้นกำหนดรูปแบบสำหรับจุดสนใจ สวนสาธารณะ และแหล่งน้ำ รวมถึงซ่อนป้ายกำกับสำหรับสถานที่ตั้งของอาหารและเครื่องดื่ม


{
  "variant": "light",
  "styles": [
    {
      "id": "natural.land",
      "geometry": {
        "fillColor": "#f7e3f7"
      }
    },
    {
      "id": "natural.water",
      "geometry": {
        "fillColor": "#d4b2ff"
      },
      "label": {
        "textFillColor": "#3d2163",
        "textStrokeColor": "#f0e1ff"
      }
    },
    {
      "id": "pointOfInterest",
      "label": {
        "pinFillColor": "#e0349a",
        "textFillColor": "#a11e6e",
        "textStrokeColor": "#ffd9f0"
      }
    },
    {
      "id": "pointOfInterest.emergency.hospital",
      "geometry": {
        "fillColor": "#ffe3e3"
      }
    },
    {
      "id": "pointOfInterest.foodAndDrink",
      "label": {
        "visible": false
      }
    },
    {
      "id": "pointOfInterest.recreation.park",
      "geometry": {
        "fillColor": "#f9b9d2"
      }
    }
  ]
}

ออบเจ็กต์ JSON

การประกาศรูปแบบ JSON ประกอบด้วยออบเจ็กต์ระดับบนสุดและอาร์เรย์ของกฎรูปแบบ

  • การตั้งค่าระดับบนสุด (ไม่บังคับ) - การตั้งค่ารูปแบบส่วนกลาง เช่น backgroundColor และ variant
  • styles - อาร์เรย์ของออบเจ็กต์กฎรูปแบบ ซึ่งประกอบด้วยข้อมูลต่อไปนี้:
    • id - องค์ประกอบในแผนที่ที่จะเลือกสำหรับการแก้ไขรูปแบบนี้ (เช่น pointOfInterest.recreation.park)
    • geometry (ไม่บังคับ) - องค์ประกอบทางเรขาคณิตขององค์ประกอบในแผนที่และกฎรูปแบบที่จะใช้ (เช่น fillColor)
    • label (ไม่บังคับ) - ป้ายกำกับข้อความหรือหมุดขององค์ประกอบในแผนที่และกฎรูปแบบที่จะใช้ (เช่น textStrokeColor)

การตั้งค่าระดับบนสุด

พร็อพเพอร์ตี้ในตารางต่อไปนี้ใช้กับรูปแบบแผนที่ทั้งหมด

พร็อพเพอร์ตี้ ประเภท คำอธิบาย ตัวอย่าง

backgroundColor

สตริง ปรับแต่งสีพื้นหลังของแอปแผนที่โดยใช้สตริงเลขฐาน 16 #RRGGBB การตั้งค่านี้ไม่รองรับการเปลี่ยนแปลงความทึบแสง "#002211"

variant

"light"|"dark" ระบุโหมดสว่างหรือโหมดมืด หากไม่ได้ระบุไว้ ระบบจะใช้ "light" เป็นค่าเริ่มต้น "light"

monochrome

บูลีน หากต้องการเปิดใช้สีเดียว ให้ใช้ true สำหรับแผนที่เวอร์ชันสีเทา

true

ออบเจ็กต์กฎรูปแบบ

ส่วนนี้อธิบายพร็อพเพอร์ตี้ที่กำหนดออบเจ็กต์กฎรูปแบบในอาร์เรย์ styles เพื่อปรับแต่งฟีเจอร์แผนที่ ออบเจ็กต์กฎรูปแบบแต่ละรายการต้องประกอบด้วยข้อมูลต่อไปนี้

  • พร็อพเพอร์ตี้ id
  • องค์ประกอบ geometry หรือ label ที่กำหนดพร็อพเพอร์ตี้ของเครื่องมือจัดรูปแบบที่เชื่อมโยง

id (องค์ประกอบในแผนที่)

พร็อพเพอร์ตี้ id จะระบุองค์ประกอบในแผนที่ที่จะจัดรูปแบบ ชื่อพร็อพเพอร์ตี้เป็นเวอร์ชัน Camel Case ของชื่อองค์ประกอบในแผนที่ในเครื่องมือแก้ไขสไตล์

ฟีเจอร์แผนที่สร้างเป็นแผนผังหมวดหมู่ หากคุณระบุประเภทฟีเจอร์ระดับบน เช่น pointOfInterest รูปแบบที่คุณระบุสำหรับระดับบนจะใช้กับระดับล่างทั้งหมด เช่น pointOfInterest.retail และ pointOfInterest.lodging ดูรายละเอียดได้ที่ ลำดับชั้นขององค์ประกอบในแผนที่

รายการพร็อพเพอร์ตี้ id ที่ใช้ได้

พร็อพเพอร์ตี้ id ที่ใช้ได้มีดังนี้

  • pointOfInterest
  • pointOfInterest.emergency
  • pointOfInterest.emergency.fire
  • pointOfInterest.emergency.hospital
  • pointOfInterest.emergency.pharmacy
  • pointOfInterest.emergency.police
  • pointOfInterest.entertainment
  • pointOfInterest.entertainment.arts
  • pointOfInterest.entertainment.casino
  • pointOfInterest.entertainment.cinema
  • pointOfInterest.entertainment.historic
  • pointOfInterest.entertainment.museum
  • pointOfInterest.entertainment.themePark
  • pointOfInterest.entertainment.touristAttraction
  • pointOfInterest.foodAndDrink
  • pointOfInterest.foodAndDrink.bar
  • pointOfInterest.foodAndDrink.cafe
  • pointOfInterest.foodAndDrink.restaurant
  • pointOfInterest.foodAndDrink.winery
  • pointOfInterest.landmark
  • pointOfInterest.lodging
  • pointOfInterest.recreation
  • pointOfInterest.recreation.beach
  • pointOfInterest.recreation.boating
  • pointOfInterest.recreation.fishing
  • pointOfInterest.recreation.golfCourse
  • pointOfInterest.recreation.hotSpring
  • pointOfInterest.recreation.natureReserve
  • pointOfInterest.recreation.park
  • pointOfInterest.recreation.peak
  • pointOfInterest.recreation.sportsComplex
  • pointOfInterest.recreation.sportsField
  • pointOfInterest.recreation.trailhead
  • pointOfInterest.recreation.zoo
  • pointOfInterest.retail
  • pointOfInterest.retail.grocery
  • pointOfInterest.retail.shopping
  • pointOfInterest.service
  • pointOfInterest.service.atm
  • pointOfInterest.service.bank
  • pointOfInterest.service.carRental
  • pointOfInterest.service.evCharging
  • pointOfInterest.service.gasStation
  • pointOfInterest.service.parkingLot
  • pointOfInterest.service.postOffice
  • pointOfInterest.service.restStop
  • pointOfInterest.service.restroom
  • pointOfInterest.transit
  • pointOfInterest.transit.airport
  • pointOfInterest.other
  • pointOfInterest.other.bridge
  • pointOfInterest.other.cemetery
  • pointOfInterest.other.government
  • pointOfInterest.other.library
  • pointOfInterest.other.military
  • pointOfInterest.other.placeOfWorship
  • pointOfInterest.other.school
  • pointOfInterest.other.townSquare
  • political
  • political.countryOrRegion
  • political.border
  • political.reservation
  • political.stateOrProvince
  • political.city
  • political.sublocality
  • political.neighborhood
  • political.landParcel
  • infrastructure
  • infrastructure.building
  • infrastructure.building.commercial
  • infrastructure.businessCorridor
  • infrastructure.roadNetwork
  • infrastructure.roadNetwork.noTraffic
  • infrastructure.roadNetwork.noTraffic.pedestrianMall
  • infrastructure.roadNetwork.noTraffic.trail
  • infrastructure.roadNetwork.noTraffic.trail.paved
  • infrastructure.roadNetwork.noTraffic.trail.unpaved
  • infrastructure.roadNetwork.parkingAisle
  • infrastructure.roadNetwork.ramp
  • infrastructure.roadNetwork.road
  • infrastructure.roadNetwork.road.arterial
  • infrastructure.roadNetwork.road.highway
  • infrastructure.roadNetwork.road.local
  • infrastructure.roadNetwork.road.noOutlet
  • infrastructure.roadNetwork.roadShield
  • infrastructure.roadNetwork.roadSign
  • infrastructure.roadNetwork.roadDetail
  • infrastructure.roadNetwork.roadDetail.surface
  • infrastructure.roadNetwork.roadDetail.crosswalk
  • infrastructure.roadNetwork.roadDetail.sidewalk
  • infrastructure.roadNetwork.roadDetail.intersection
  • infrastructure.railwayTrack
  • infrastructure.railwayTrack.commercial
  • infrastructure.railwayTrack.commuter
  • infrastructure.transitStation
  • infrastructure.transitStation.bicycleShare
  • infrastructure.transitStation.busStation
  • infrastructure.transitStation.ferryTerminal
  • infrastructure.transitStation.funicularStation
  • infrastructure.transitStation.gondolaStation
  • infrastructure.transitStation.monorail
  • infrastructure.transitStation.railStation
  • infrastructure.transitStation.railStation.subwayStation
  • infrastructure.transitStation.railStation.tramStation
  • infrastructure.urbanArea
  • natural
  • natural.continent
  • natural.archipelago
  • natural.island
  • natural.land
  • natural.land.landCover
  • natural.land.landCover.crops
  • natural.land.landCover.dryCrops
  • natural.land.landCover.forest
  • natural.land.landCover.ice
  • natural.land.landCover.sand
  • natural.land.landCover.shrub
  • natural.land.landCover.tundra
  • natural.water
  • natural.water.ocean
  • natural.water.lake
  • natural.water.river
  • natural.water.other
  • natural.base

องค์ประกอบ

องค์ประกอบคือส่วนย่อยขององค์ประกอบในแผนที่ ตัวอย่างเช่น ถนนประกอบด้วยเส้นกราฟิก (geometry) บนแผนที่ และข้อความที่ระบุชื่อ (label)

องค์ประกอบต่อไปนี้พร้อมใช้งาน แต่โปรดทราบว่าองค์ประกอบในแผนที่บางรายการอาจไม่รองรับ รองรับบางรายการ หรือรองรับองค์ประกอบทั้งหมด

  • geometry: เลือกองค์ประกอบทางเรขาคณิตทั้งหมด (เช่น รูปหลายเหลี่ยม เส้นประกอบ) ขององค์ประกอบในแผนที่ที่ระบุ
  • label: เลือกองค์ประกอบป้ายกำกับทั้งหมด (เช่น ข้อความ หมุด) ขององค์ประกอบในแผนที่ที่ระบุ

เครื่องมือจัดรูปแบบ

เครื่องมือจัดรูปแบบคือวิธีที่คุณกำหนดกฎรูปแบบสำหรับองค์ประกอบแต่ละรายการของฟีเจอร์แผนที่

ตัวอย่างเช่น สำหรับรอยเท้าอาคาร คุณสามารถจัดรูปแบบแต่ละองค์ประกอบได้ดังนี้

ตัวอย่างเครื่องมือจัดรูปแบบ geometry สำหรับอาคาร ตัวอย่างเครื่องมือจัดรูปแบบ label สำหรับอาคาร
จะซ่อนหรือแสดงรูปหลายเหลี่ยมรอยเท้าอาคารบนแผนที่ จะซ่อนหรือแสดงป้ายกำกับอาคาร
สีและความทึบแสงของสีเติมรูปหลายเหลี่ยม สีและความทึบแสงของสีเติมข้อความ
สี ความทึบแสง และความกว้างของเส้นขอบ สีและความทึบแสงของเส้นข้อความ

ส่วนนี้อธิบายตัวเลือกรูปแบบต่างๆ ที่ใช้ได้สำหรับองค์ประกอบ geometry และ label

เครื่องมือจัดรูปแบบ geometry

ตารางต่อไปนี้แสดงเครื่องมือจัดรูปแบบทางเรขาคณิตทั้งหมดที่ใช้ได้

ตัวจัดรูปแบบ ประเภท คำอธิบาย

visible

บูลีน หากต้องการซ่อนรูปหลายเหลี่ยมหรือเส้นประกอบขององค์ประกอบในแผนที่ ให้ตั้งค่าเป็น false

fillColor

สตริง ปรับแต่งสีของรูปหลายเหลี่ยมหรือเส้นหลายเส้นด้วยสตริงเลขฐาน 16 RGB

fillOpacity

float ปรับแต่งความทึบแสงของรูปหลายเหลี่ยมหรือเส้นหลายเส้น โดย 0 คือโปร่งใสและ 1 คือทึบแสง

strokeColor

สตริง ปรับแต่งสีของเส้นขอบด้วยสตริงเลขฐาน 16 RGB

strokeOpacity

float ปรับแต่งความทึบแสงของเส้นขอบ โดย 0 คือโปร่งใสและ 1 คือทึบแสง

strokeWeight

float ปรับแต่งความหนาของเส้นขอบตั้งแต่ 0 ถึง 8

ดูข้อมูลเพิ่มเติมได้ที่ รูปหลายเหลี่ยมและเส้นหลายเส้น

เครื่องมือจัดรูปแบบ label

ตารางต่อไปนี้แสดงเครื่องมือจัดรูปแบบป้ายกำกับทั้งหมดที่ใช้ได้

ตัวจัดรูปแบบ ประเภท คำอธิบาย

visible

บูลีน หากต้องการซ่อนป้ายกำกับขององค์ประกอบในแผนที่ ให้ตั้งค่าเป็น false

textFillColor

สตริง ปรับแต่งสีของป้ายกำกับข้อความด้วยสตริงเลขฐาน 16 RGB

textFillOpacity

float ปรับแต่งความทึบแสงของป้ายกำกับข้อความ โดย 0 คือโปร่งใสและ 1 คือทึบแสง

textStrokeColor

สตริง ปรับแต่งสีของเส้นขอบด้วยสตริงเลขฐาน 16 RGB

textStrokeOpacity

float ปรับแต่งความทึบแสงของเส้นขอบ โดย 0 คือโปร่งใสและ 1 คือทึบแสง

textStrokeWeight

float ปรับแต่งความหนาของเส้นขอบตั้งแต่ 0 ถึง 8

pinFillColor

สตริง ปรับแต่งสีหมุดด้วยสตริงเลขฐาน 16 RGB

ดูข้อมูลเพิ่มเติมได้ที่ ไอคอนและป้ายกำกับข้อความ

ระดับการซูมหลัก

คุณสามารถตั้งค่ารูปแบบเดียวสำหรับฟีเจอร์ในระดับคีย์ซูมทั้งหมด หรือระบุรูปแบบต่างๆ สำหรับระดับคีย์ซูมที่แตกต่างกัน หากระบุรูปแบบเดียว ระบบจะใช้รูปแบบนั้นกับระดับการซูมหลักทั้งหมดโดยเริ่มจาก z0 หากระบุรูปแบบสำหรับระดับคีย์ซูมที่แตกต่างกัน ระบบจะใช้รูปแบบนั้นตั้งแต่ระดับการซูมนั้นจนถึงระดับการซูมถัดไปที่คุณกำหนด

หากต้องการตั้งค่าระดับคีย์ซูมสำหรับรูปแบบ ให้กำหนดระดับคีย์ซูมตั้งแต่ z0 ถึง z22 ในพร็อพเพอร์ตี้ของตัวจัดรูปแบบ แล้วกำหนดการปรับแต่งตัวจัดรูปแบบ

ในตัวอย่างต่อไปนี้ น้ำจะมีสีดำตั้งแต่ระดับคีย์ซูม 0-5 สีเทาเข้มตั้งแต่ระดับคีย์ซูม 6-11 และสีเทาอ่อนตั้งแต่ระดับคีย์ซูม 12

{
  "id": "natural.water",
  "geometry": {
    "fillColor": {
      "z0": "#000000",
      "z6": "#666666",
      "z12": "#cccccc"
    }
  }
}

ดูข้อมูลเพิ่มเติมได้ที่ ระดับการซูมของรูปแบบ

ข้อจำกัด

คุณสามารถใช้ JSON เพื่อจัดรูปแบบเกือบทุกอย่างในคอนโซล Google Cloud ยกเว้นฟีเจอร์ต่อไปนี้จากเมนูการตั้งค่าแผนที่

สำหรับฟีเจอร์เหล่านี้ คุณต้องเลือกค่ากำหนดในเมนู การตั้งค่าแผนที่