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

นักพัฒนาซอฟต์แวร์ในเขตเศรษฐกิจยุโรป (EEA)

โทเค็นของเซสชันคือข้อมูล (a 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

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

ฟิลด์ที่ไม่บังคับ

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

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

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

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

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

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

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