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

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

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

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

หากต้องการขอโทเค็นเซสชัน ให้ส่งคำขอ HTTPS POST ไปยังปลายทาง 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 ส่วนและนำป้ายกำกับฟีเจอร์ย่อยออก

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

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

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

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

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

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

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

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

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

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

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