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

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

โทเค็นเซสชันคือข้อมูล (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 สูง
แผนที่แสดงที่ความละเอียดปกติ แผนที่แสดงที่ความละเอียด 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: เท็จ 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" }
      ]
    }
  ]
}

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

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

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