ใช้โทเค็นเซสชันกับ Map Tiles API

โทเค็นเซสชันคือข้อมูล (UUID) ที่ใช้ในการเรียก REST เพื่อระบุเซสชัน ซึ่งเป็นชุดการแลกเปลี่ยนข้อความที่เกี่ยวข้อง คุณต้องใส่โทเค็นเซสชันในคำขอไทล์ 2 มิติและภาพ Street View ทั้งหมด คุณสามารถใส่ค่านี้ไว้ที่พารามิเตอร์ session ต่อท้าย URL คำขอทั้งหมด

ใน Map Tiles API โทเค็นเซสชันแสดงถึงชุดตัวเลือกการแสดงผลที่กําหนดไว้ ซึ่งหมายความว่าคุณไม่จําเป็นต้องส่งชุดตัวเลือกการแสดงผลพร้อมกับคําขอการ์ดแต่ละรายการ คุณใช้โทเค็นเซสชันเดียวกันกับไคลเอ็นต์หลายรายการได้ ปัจจุบันโทเค็นเซสชันใช้งานได้เป็นเวลา 2 สัปดาห์นับจากเวลาที่ออก แต่ข้อมูลนี้อาจเปลี่ยนแปลงได้ คุณตรวจสอบเวลาหมดอายุของโทเค็นเซสชันได้ทุกเมื่อโดยดูที่ช่อง expiry ในข้อความตอบกลับ

คำขอโทเค็นเซสชัน

หากต้องการขอโทเค็นเซสชัน ให้ส่งคำขอ POST ผ่าน HTTPS ไปยังปลายทาง createSession ดังตัวอย่างต่อไปนี้ คุณต้องส่งคำขอโดยมีส่วนหัว Content-Type: application/json

curl -X POST -d '{
  "mapType": "streetview",
  "language": "en-US",
  "region": "US"
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/createSession?key=YOUR_API_KEY"

ฟิลด์ที่จำเป็น

mapType

ประเภทของแผนที่ฐาน ค่านี้อาจเป็นค่าใดค่าหนึ่งต่อไปนี้

roadmap
ชิ้นส่วนแผนที่แบบวาดของ Google Maps มาตรฐาน
satellite
ภาพถ่ายจากดาวเทียม
terrain
ภาพภูมิประเทศ เมื่อเลือก terrain เป็นประเภทแผนที่ คุณต้องระบุประเภทเลเยอร์ layerRoadmap ด้วย (อธิบายไว้ในส่วนช่องที่ไม่บังคับ)
streetview
ภาพพาโนรามาใน Street View ดูข้อมูลเพิ่มเติมได้ที่ไทล์ Street View
language

แท็กภาษา IETF ที่ระบุภาษาที่ใช้แสดงข้อมูลในการ์ด เช่น en-US ระบุภาษาอังกฤษตามที่พูดในสหรัฐอเมริกา

region

ตัวระบุภูมิภาค (ตัวอักษรตัวพิมพ์ใหญ่ 2 ตัว) ของที่เก็บข้อมูลภาษาทั่วไปซึ่งแสดงตำแหน่งจริงของผู้ใช้ เช่น US

ช่องที่ไม่บังคับ

imageFormat
ระบุรูปแบบไฟล์ที่จะแสดงผล ค่าที่ใช้ได้คือ jpeg หรือ png ไฟล์ JPEG ไม่รองรับความโปร่งใส จึงไม่แนะนำให้ใช้กับไทล์วางซ้อน หากไม่ระบุ imageFormat ระบบจะเลือกรูปแบบที่ดีที่สุดสำหรับการ์ดโดยอัตโนมัติ
scale

ปรับขนาดองค์ประกอบแผนที่ (เช่น ป้ายถนน) ให้ใหญ่ขึ้นโดยยังคงขนาดและพื้นที่การครอบคลุมของชิ้นส่วนแผนที่เริ่มต้นไว้ การเพิ่มมาตราส่วนยังช่วยลดจำนวนป้ายกำกับบนแผนที่ ซึ่งทำให้แผนที่ดูไม่รก ค่าต่อไปนี้เป็นค่า scale ที่ถูกต้อง

  • scaleFactor1x: ค่าเริ่มต้น
  • scaleFactor2x: เพิ่มขนาดป้ายกำกับเป็น 2 เท่าและนำป้ายกำกับองค์ประกอบรองออก
  • scaleFactor4x: เพิ่มขนาดป้ายกำกับเป็น 4 เท่าและนำป้ายกำกับองค์ประกอบรองออก

ตัวอย่างต่อไปนี้แสดงผลของการขยายองค์ประกอบแผนที่

อัตราส่วนการปรับขนาด 1 เท่า อัตราส่วนการขยาย 2 เท่า
แผนที่แสดงตัวคูณมาตราส่วน 1 เท่า แผนที่แสดงตัวคูณมาตราส่วน 2 เท่า
highDpi
ระบุว่าจะแสดงผลการ์ดภาพความละเอียดสูงหรือไม่ หากเพิ่มปัจจัยที่มีผลต่อขนาด ระบบจะใช้ highDpi เพื่อเพิ่มขนาดของการ์ด โดยทั่วไปแล้ว การเพิ่มขึ้นของปัจจัยการขยายจะขยายไทล์ที่ได้เป็นรูปภาพขนาดเดียวกัน ซึ่งจะทำให้คุณภาพลดลง เมื่อใช้ highDpi ขนาดของวิดีโอที่ได้จะเพิ่มขึ้นด้วยเพื่อรักษาคุณภาพ DPI ย่อมาจาก Dots per Inch และ DPI สูงหมายความว่าการ์ดจะแสดงผลโดยใช้จุดต่อนิ้วมากกว่าปกติ หากเป็น true ระบบจะคูณจำนวนพิกเซลในแต่ละมิติข้อมูล x และ y ด้วยปัจจัยการขยาย (นั่นคือ 2 เท่าหรือ 4 เท่า) พื้นที่ให้บริการของการ์ดจะยังคงเหมือนเดิม พารามิเตอร์นี้ใช้ได้กับค่า scale ที่ 2 เท่าหรือ 4 เท่าเท่านั้น โดยไม่มีผลต่อการ์ดขนาด 1x
อัตราส่วนการปรับขนาด 1 เท่า ค่าตัวคูณมาตราส่วน 2x DPI สูง
แผนที่ที่แสดงในความละเอียดปกติ แผนที่แสดงที่ความละเอียด DPI สูง 2 เท่า
layerTypes

อาร์เรย์ของค่าที่ระบุประเภทเลเยอร์ซึ่งเพิ่มลงในแผนที่ ค่าที่ใช้ได้มีดังนี้

layerRoadmap
ต้องระบุหากระบุ terrain เป็นประเภทแผนที่ นอกจากนี้ยังวางซ้อนบนแผนที่ประเภท satellite ได้ด้วย ไม่มีผลกับการ์ดแผนภาพ
layerStreetview
แสดงถนนและสถานที่ที่พร้อมใช้งาน Street View โดยใช้เส้นขอบสีน้ำเงินบนแผนที่
layerTraffic
แสดงสภาพการจราจรปัจจุบัน
styles

อาร์เรย์ของออบเจ็กต์สไตล์ JSON ที่ระบุลักษณะที่ปรากฏและระดับรายละเอียดขององค์ประกอบแผนที่ เช่น ถนน สวนสาธารณะ และพื้นที่ที่มีอาคาร การจัดรูปแบบใช้เพื่อปรับแต่งแผนที่ฐานมาตรฐานของ Google พารามิเตอร์ styles จะใช้ได้ก็ต่อเมื่อประเภทแผนที่เป็น roadmap ดูไวยากรณ์สไตล์ฉบับเต็มได้ที่ข้อมูลอ้างอิงสไตล์

overlay

ค่าบูลีนที่ระบุว่าควรแสดงผล layerTypes เป็นการวางซ้อนแยกต่างหาก หรือรวมกับภาพฐาน เมื่อ true แผนที่ฐานจะไม่แสดง หากคุณไม่ได้กําหนด layerTypes ระบบจะไม่สนใจค่านี้

เช่น การขอแผนที่ประเภท satellite ที่มีเลเยอร์ layerRoadmap และตั้งค่า overlay เป็น false จะทำให้ได้ไทล์ที่เทียบเท่ากับแผนที่ประเภท hybrid ที่ใช้ใน Maps JavaScript API (รูปภาพด้านซ้าย) แผนที่และเลเยอร์ประเภทเดียวกันที่มีการตั้งค่า overlay เป็น true จะแสดงผลเป็นชิ้นส่วนแผนที่แบบโปร่งใสที่มีการวางซ้อนแผนที่ โดยจัดรูปแบบให้วางซ้อนกับภาพถ่ายจากดาวเทียมได้อย่างเหมาะสม (รูปภาพด้านขวา)

overlay: false overlay: true
การวางซ้อนตั้งค่าเป็น "เท็จ" การวางซ้อนตั้งค่าเป็น "จริง"

JSON ต่อไปนี้คือตัวอย่างของเนื้อหาคำขอทั่วไปซึ่งมีทั้งฟิลด์ที่ต้องระบุและฟิลด์ที่ไม่บังคับ

{
  "mapType": "satellite",
  "language": "en-US",
  "region": "us",
  "layerTypes": [ "layerRoadmap", "layerStreetview" ],
  "overlay":  true,
  "scale": "scaleFactor1x",
  "styles": [
    {
      "stylers": [
        { "hue": "#00ffe6" },
        { "saturation": -20 }
      ]
    },{
      "featureType": "road",
      "elementType": "geometry",
      "stylers": [
        { "lightness": 100 },
        { "visibility": "simplified" }
      ]
    }
  ]
}

ตัวอย่างนี้แสดงการวางซ้อนที่เหมาะสำหรับการรวมกับภาพถ่ายดาวเทียม ตัวอย่างนี้มีทั้งแผนภาพและภาพ Street View ที่วางซ้อนกัน แผนที่ที่ได้จะแสดงผลพร้อมชื่อและข้อมูลเป็นภาษาอังกฤษตามที่ใช้กันในสหรัฐอเมริกา

apiOptions: อาร์เรย์ของค่าที่ระบุตัวเลือกเพิ่มเติมที่จะใช้ ตัวเลือกที่รองรับมีดังนี้

  • MCYJ5E517XR2JC - เลือกใช้รูปแบบแผนที่ใหม่ ในระหว่างระยะเวลาเลือกใช้ คำขอของคุณจะได้รับรูปแบบที่มีอยู่ เว้นแต่จะมีการระบุค่านี้

การตอบกลับโทเค็นเซสชัน

JSON ต่อไปนี้เป็นตัวอย่างเนื้อหาการตอบกลับ

{
  "session": "IgAAAHGU9jnAU4KOAfwY3Bcd6eH_WxQsyocSBAdUnAr9pnvTTNXtF9c_27RBo94ytEXTDg",
  "expiry": "1361828036",
  "tileWidth": 256,
  "tileHeight": 256,
  "imageFormat": "png"
}

รายการต่อไปนี้มีคำจำกัดความของช่องในเนื้อหาการตอบกลับ

session
ค่าโทเค็นเซสชันที่คุณต้องใส่ไว้ในคําขอ Map Tiles API ทั้งหมด
expiry
สตริงที่มีเวลา (เป็นวินาทีนับจากวันที่ 1 มกราคม ค.ศ. 1970) ที่โทเค็นจะหมดอายุ โทเค็นเซสชันจะใช้งานได้ 2 สัปดาห์นับจากเวลาที่สร้างขึ้น แต่นโยบายนี้อาจมีการเปลี่ยนแปลงโดยไม่แจ้งให้ทราบ
tileWidth
ความกว้างของไทล์ที่วัดเป็นพิกเซล
tileHeight
ความสูงของการ์ดที่วัดเป็นพิกเซล
imageFormat
รูปแบบรูปภาพ ซึ่งอาจเป็น png หรือ jpeg