ภาพ Street View

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

ตัวอย่างชิ้นส่วนแผนที่ Street View

ชิ้นส่วนแผนที่ Street View มีลักษณะคล้ายกับ ชิ้นส่วนแผนที่ 2 มิติ ยกเว้นว่าจะมีภาพพาโนรามาที่ถ่ายจากระดับถนน สำรวจจุดสังเกตทั่วโลก ดูความมหัศจรรย์ทางธรรมชาติ และเยี่ยมชมด้านในของสถานที่ต่างๆ เช่น พิพิธภัณฑ์ สนามกีฬา ร้านอาหาร หรือธุรกิจขนาดย่อมด้วย Street View ปลายทาง API นี้ช่วยให้คุณเข้าถึงสิ่งต่อไปนี้ได้

  • ชิ้นส่วนแผนที่ Street View ของ Google Maps
  • ข้อมูลเมตาของ Street View
  • ภาพปกของ Street View

คุณสามารถนำชิ้นส่วนแผนที่รูปภาพที่ถ่ายจากระดับถนนมาต่อกันเพื่อสร้างเอฟเฟกต์พาโนรามาเหมือนจริงได้ และคุณยังค้นหา Panorama ID ได้สูงสุด 100 รายการสำหรับชุดสถานที่ตั้ง (เช่น เส้นทาง) และรับข้อมูลเมตาเชิงลึกเพิ่มเติมเกี่ยวกับตำแหน่งกล้องได้ด้วย

คุณต้องมีโปรแกรมดูเพื่อนำชิ้นส่วนแผนที่ Street View มาต่อกัน เช่น โปรแกรมดูภาพพาโนรามาที่กำหนดเองของ Street View

เมื่อมีคีย์ API แล้ว คุณจะเข้าถึงภาพ Street View ได้โดยทำตามขั้นตอนต่อไปนี้

  1. รับโทเค็นของเซสชัน อย่าลืมตั้งค่า mapType เป็น streetview

  2. ใช้โทเค็นของเซสชันเพื่อ รับตัวระบุภาพพาโนรามา (panoId) ของสถานที่ตั้งทางภูมิศาสตร์อย่างน้อย 1 แห่ง

  3. ใช้ตัวระบุภาพพาโนรามาจากการตอบกลับการค้นหา panoId เพื่อรับข้อมูลต่อไปนี้

    1. ข้อมูลเมตาของ Street View นอกจากนี้ คุณยังรับข้อมูลเมตาของ Street View ได้โดยส่งชุดพิกัดและรัศมี

    2. ภาพปกของ Street View

    3. ชิ้นส่วนแผนที่ Street View

เมธอดของ Street View

คุณเข้าถึงภาพ Street View และข้อมูลเมตาได้โดยเรียกใช้ 1 ใน 4 เมธอดต่อไปนี้

เมธอด คำอธิบาย
https://tile.googleapis.com/v1/streetview/tiles แสดงผลชิ้นส่วนแผนที่ Street View แต่ละรายการ คุณสามารถดึงข้อมูลชิ้นส่วนแผนที่ Street View ได้ 6 ระดับการซูม ตั้งแต่ 512 พิกเซลไปจนถึง 13,312 พิกเซล
https://tile.googleapis.com/v1/streetview/panoIds ช่วยให้คุณค้นหาสถานที่ตั้งได้สูงสุด 100 แห่งพร้อมกัน แสดงผล Panorama ID สำหรับสถานที่ตั้งทั้งหมดที่มีภาพ
https://tile.googleapis.com/v1/streetview/thumbnail แสดงผลภาพปก JPEG ของฉาก Street View ช่วยให้คุณระบุส่วนหัว ระดับความสูง ขนาด และขอบเขตการมองเห็นได้ ขนาดขั้นต่ำคือ 16x16 พิกเซล ขนาดสูงสุดคือ 250x600 พิกเซล
https://tile.googleapis.com/v1/streetview/metadata ให้ข้อมูลโดยละเอียดเกี่ยวกับภาพพาโนรามาที่ระบุ รายละเอียดรวมถึงที่อยู่ที่เกี่ยวข้องและลิงก์ไปยังภาพพาโนรามาที่อยู่ติดกัน

คุณสามารถค้นหาตัวระบุภาพพาโนรามาของสถานที่ตั้งทางภูมิศาสตร์อย่างน้อย 1 แห่งได้โดย ส่งพิกัด (lat, lng) ไปยังเมธอด panoIds เนื้อหาคำขอเป็นออบเจ็กต์ JSON ที่มีอาร์เรย์ locations และอาจมี radius ดังที่แสดงในตัวอย่างโค้ด JSON ต่อไปนี้

curl -X POST -d '{
  "locations": [
    {"lat": -33.883837, "lng": 151.209307},
    {"lat": -33.883700, "lng": 151.210307},
    {"lat": 0, "lng": 0}
  ],
  "radius": 50
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/streetview/panoIds?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY"
locations
อาร์เรย์ locations ต้องมีค่าพิกัดอย่างน้อย 1 ชุด แต่คุณสามารถใส่ค่าเพิ่มเติมได้สูงสุด 100 ชุด
radius
ค่า radius (วัดเป็นเมตร) จะกำหนดรัศมีของวงกลมรอบสถานที่ตั้งที่ระบุ ซึ่งใช้ค้นหาภาพพาโนรามา ค่าเริ่มต้นคือ 50 เมตร

การตอบกลับ panoId

Map Tiles API จะพยายามค้นหาภาพพาโนรามาที่ใกล้กับสถานที่ตั้งแต่ละแห่งมากที่สุด แล้วแสดงผล Panorama ID ของภาพเหล่านั้น คำขอ panoIds ที่สำเร็จจะแสดงผลออบเจ็กต์ JSON ที่มีอาร์เรย์ panoIds อาร์เรย์จะมีรายการ Panorama ID ตามลำดับที่คุณขอ หาก Map Tiles API ไม่พบภาพพาโนรามาสำหรับสถานที่ตั้งที่คุณขอ ระบบจะแสดงผลสตริงว่างที่สถานที่ตั้งนั้นในอาร์เรย์ ดูตัวอย่างได้จากโค้ด JSON ต่อไปนี้

{
  "panoIds": [
    "ACfH-n2HcBvRry_3oc9grw",
    "f5DJZatBAAAXHlooS2wKbw",
    ""
  ]
}

คุณสามารถใช้ panoIds เพื่อดำเนินการต่อไปนี้

ข้อมูลเมตาของ Street View

คำขอข้อมูลเมตาของ Street View จะดึงข้อมูลเกี่ยวกับภาพพาโนรามา คำขอข้อมูลเมตาของ Street View คือคำขอ HTTPS GET คุณสามารถดึงข้อมูลเกี่ยวกับภาพพาโนรามาได้ 2 วิธีดังนี้

  • หากส่ง pano_id ไป Map Tiles API จะแสดงผลข้อมูลเมตาสำหรับภาพพาโนรามานั้น

  • แต่หากส่ง lat และ lng ไป Map Tiles API จะแสดงผลข้อมูลเมตา สำหรับภาพพาโนรามาที่ใกล้ที่สุดภายในรัศมีการค้นหาที่ระบุ

ส่งชุดพิกัดและรัศมี

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&lat=lat&lng=lng&radius=meters"

เนื่องจาก Panorama ID เป็นข้อมูลชั่วคราว เราจึงขอแนะนำให้คุณส่งชุดพิกัดและค่า radius ในคำขอข้อมูลเมตาของ Street View เริ่มต้น ดูตัวอย่างได้จากข้อมูลโค้ดต่อไปนี้

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&lat=47.62066&lng=-122.34923&radius=50"

ส่ง panoId ของภาพ Street View

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId"

การตอบกลับข้อมูลเมตา

โค้ด JSON ต่อไปนี้เป็นตัวอย่างการตอบกลับข้อมูลเมตาโดยทั่วไป

{
 "panoId": "rZ9KeTyhA11i0VppYNzsSg",
 "lat": 37.420864219339165,
 "lng": -122.08446528377291,
 "imageHeight": 6656,
 "imageWidth": 13312,
 "tileHeight": 512,
 "tileWidth": 512,
 "heading": 94.35,
 "tilt": 88.39652,
 "roll": 1.7181772,
 "imageryType": "outdoor",
 "date": "2023-01",
 "copyright": "© 2023 Google",
 "reportProblemLink": "https://cbks0.googleapis.com/cbk?output=report&panoid=rZ9KeTyhA11i0VppYNzsSg&cb_client=api&cbp=1,0,,0,0&hl=en-US&gl=us",
 "addressComponents": [
  {
   "longName": "United States",
   "shortName": "United States",
   "types": [
    "country"
   ]
  },
  {
   "longName": "Mountain View, California",
   "shortName": "Mountain View, California",
   "types": [
    "locality"
   ]
  },
  {
   "longName": "Charleston Rd",
   "shortName": "Charleston Rd",
   "types": [
    "route"
   ]
  },
  {
   "longName": "1635",
   "shortName": "1635",
   "types": [
    "street_number"
   ]
  }
 ],
 "links": [
  {
   "panoId": "Yw4pqzA4FEq1qs-BwZSvSQ",
   "heading": 274.47998046875,
   "text": "Charleston Rd"
  },
  {
   "panoId": "1cODYwFRw1aZ45IignDIMw",
   "heading": 94.47999572753906,
   "text": "Charleston Rd"
  }
 ]
}

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

panoId
รหัสที่ไม่ซ้ำกันของภาพพาโนรามานี้ คุณไม่ควรใช้ Panorama ID ที่มีอายุมากกว่าเซสชันผู้ใช้เดียว
lat, lng
พิกัด (ละติจูดและลองจิจูด) ของภาพพาโนรามา ค่าเหล่านี้อาจแตกต่างจากพิกัดที่คุณส่งในคำขอเนื่องจากสถานที่ตั้งจะ ปรับ ไปยังภาพพาโนรามาที่ใกล้ที่สุด
imageHeight, imageWidth
ขนาดของภาพพาโนรามาที่ต่อกัน
tileHeight, tileWidth
ขนาดของชิ้นส่วนแผนที่ภาพพาโนรามา 1 รายการ
heading
ทิศทางเข็มทิศ วัดเป็นองศาตามเข็มนาฬิกาจากทิศเหนือ ระบบจะแสดงผลทิศทางในช่วง [0,360] โดย 0 หมายถึงทิศเหนือ
tilt
การเอียงของภาพพาโนรามา วัดเป็นองศาจากขั้วโลกใต้ของภาพพาโนรามาไปยังเส้นขอบฟ้า ค่าที่แสดงผลจะอยู่ในช่วง [0, 180] ค่า 90 องศาหมายความว่าเส้นขอบฟ้าอยู่ในแนวเดียวกับเส้นศูนย์สูตรของภาพพาโนรามาแล้ว
roll
การหมุนตามเข็มนาฬิการอบเส้นสายตาที่ใช้กับภาพพาโนรามาเพื่อปรับระดับเส้นขอบฟ้า ค่าที่แสดงผลจะอยู่ในช่วง [0, 360]
imageryType
ระบุประเภทของรูปภาพ ค่าที่ใช้ได้คือ indoor และ outdoor
date
วันที่ถ่ายรูปภาพ รูปภาพบางรูปไม่มีข้อมูลวันที่ แต่หากมี ช่องนี้จะประกอบด้วยปี (ปปปป) และเดือน (ดด) เช่น 2023-05 หรือ 2024
copyright
ข้อความลิขสิทธิ์ที่คุณต้องแสดงเป็นการระบุแหล่งที่มาพร้อมกับภาพ Street View
reportProblemLink
ไฮเปอร์ลิงก์ให้ผู้ใช้ใช้รายงานปัญหาเกี่ยวกับชิ้นส่วนแผนที่ Street View นี้ คุณต้องแสดงไฮเปอร์ลิงก์นี้ที่มุมขวาล่างของรูปภาพ และต้องมีข้อความลิงก์ที่ระบุว่า "รายงานปัญหาเกี่ยวกับรูปภาพนี้" เป็นต้น
addressComponent
การเข้ารหัสพิกัดภูมิศาสตร์
ที่มีโครงสร้าง ซึ่งมีรายละเอียดเกี่ยวกับที่อยู่ของภาพพาโนรามา ดูข้อมูลเพิ่มเติมได้ที่ ดู คำขอและการตอบกลับการเข้ารหัสพิกัดภูมิศาสตร์ ในเอกสารประกอบ Geocoding API
links
รายการ Panorama ID ที่ลิงก์กับรายการนี้ รวมถึงทิศทางที่พบลิงก์ เช่น หากทิศทางคือ 180° ภาพพาโนรามาที่ลิงก์จะอยู่ทางทิศใต้ของภาพพาโนรามาปัจจุบัน โปรดทราบว่าเนื่องจาก Panorama ID เป็นข้อมูลชั่วคราว คุณจึงไม่ควรใช้ข้อมูลนี้ที่มีอายุมากกว่าเซสชันผู้ใช้เดียว

ภาพปกของ Street View

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

curl "https://tile.googleapis.com/v1/streetview/thumbnail?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId&height=FROM_16_TO_250&width=FROM_16_TO_600&pitch=FROM-90_TO_90&yaw=FROM-360_TO_360&fov=FROM_30_TO_120"

ดูตัวอย่างโค้ดต่อไปนี้ ซึ่งจะดาวน์โหลดภาพปกของภาพ Street View ที่ถ่ายในวิสต์เลอร์ ประเทศแคนาดา

curl "https://tile.googleapis.com/v1/streetview/thumbnail?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=Zzl28rqGJgaL2IdkUleP8A&height=200&width=200&pitch=0&yaw=250&fov=80" --output /tmp/example_thumbnail.png

ภาพขนาดย่อของ Street View ของวิสเลอร์ แคนาดา

พารามิเตอร์ที่จำเป็น

panoId
รหัสที่ไม่ซ้ำกันของภาพปกที่ต้องการ คุณสามารถรับค่า Panorama ID ได้จากปลายทาง panoIds หรือจากปลายทาง metadata ซึ่งทั้ง 2 ปลายทางนี้รับพิกัดทางภูมิศาสตร์และแสดงผล panoId ที่เหมาะสม
session
โทเค็นเซสชันที่ถูกต้อง
key
คีย์ API ของคุณ

พารามิเตอร์ที่ไม่บังคับ

height
ระบุความสูงของภาพปกเป็นพิกเซล ตั้งแต่ 16 พิกเซลถึง 250 พิกเซล หากไม่ระบุความสูง ความสูงเริ่มต้นจะเป็นค่าสูงสุดที่อนุญาต ซึ่งคือ 250 พิกเซล หากระบุค่าที่อยู่นอกช่วง ระบบจะ ปรับ ภาพปกไปยังค่าที่ถูกต้องที่ใกล้ที่สุด
width
ระบุความกว้างของภาพปกเป็นพิกเซล ตั้งแต่ 16 พิกเซลถึง 600 พิกเซล หากไม่ระบุความกว้าง ความกว้างเริ่มต้นจะเป็นค่าสูงสุดที่อนุญาต ซึ่งคือ 600 พิกเซล หากระบุค่าที่อยู่นอกช่วง ระบบจะ ปรับ ภาพปกไปยังค่าที่ถูกต้องที่ใกล้ที่สุด
pitch
ระบุมุมของกล้องตามแกนแนวตั้ง ค่าที่ใช้ได้อยู่ใน ช่วง -90 ถึง 90 (รวม) ค่าเริ่มต้นคือ 0
yaw
ระบุทิศทางของกล้องตามแกนแนวนอน ค่าที่ใช้ได้ อยู่ในช่วง -360 ถึง 360 (รวม) ค่าเริ่มต้นคือ 0
fov
ระบุขอบเขตการมองเห็นแนวนอนเป็นองศา โดยมีค่าสูงสุดคือ 120 เมื่อใช้กับวิวพอร์ตขนาดคงที่ เช่น ภาพ Street View ที่มีขนาดคงที่ ขอบเขตการมองเห็นจะแสดงถึงการซูม โดยค่าที่น้อยกว่าจะระบุระดับการซูมที่สูงกว่า ค่าเริ่มต้นคือ 90

ชิ้นส่วนแผนที่รูปภาพ Street View

เมื่อมี panoId แล้ว คุณจะขอชิ้นส่วนแผนที่รูปภาพ Street View ได้ คำขอชิ้นส่วนแผนที่เป็นคำขอ GET ของ HTTPS ดูตัวอย่างต่อไปนี้

curl "https://tile.googleapis.com/v1/streetview/tiles/z/x/y?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId"

ในตัวอย่างโค้ดนี้ z คือระดับการซูม และ x กับ y คือ พิกัดแผนที่ย่อย ของชิ้นส่วนแผนที่ Street View ที่คุณต้องการ ระดับการซูมในพาโนรามาใน Street View ต้องอยู่ในช่วง [0,5] โดย 0 หมายถึงขอบเขตการมองเห็นที่กว้างที่สุด

ระดับการซูม ขอบเขตการมองเห็นโดยประมาณ
0 360°
1 180°
2 90°
3 45°
4 22.5°
5 11.25°

การตอบกลับชิ้นส่วนแผนที่ Street View

คำขอชิ้นส่วนแผนที่ Street View ที่สำเร็จจะแสดงผลรูปภาพในรูปแบบและขนาดที่คุณระบุในการตอบกลับ createSession

ผลลัพธ์ของคำขอไทล์ที่สำเร็จ

ที่ระดับการซูม 0 ระบบจะปรับขนาดภาพพาโนรามาทั้งหมดให้เป็นชิ้นส่วนแผนที่ที่มีขนาด tileWidth x tileHeight เนื่องจากภาพพาโนรามามีขนาดใหญ่กว่าในมิติ x ชิ้นส่วนแผนที่จะมีพื้นที่ว่างในมิติ y ดังนี้

ระดับการซูม 0

ที่ระดับการซูม 5 ระบบจะใช้ภาพพาโนรามาขนาดเต็มและแบ่งออกเป็นชิ้นส่วนแผนที่

คุณต้องแสดงข้อมูลลิขสิทธิ์พร้อมกับพาโนรามาใน Street View ทุกภาพ สตริงที่จะแสดงอาจแตกต่างกันไปในแต่ละภาพพาโนรามา หากต้องการรับข้อมูลลิขสิทธิ์ คุณต้องขอข้อมูลเมตาของ Street View แล้วจึง อ้างอิงช่อง copyright ของการตอบกลับ ดูข้อมูลเพิ่มเติมได้ที่ การระบุแหล่งที่มาของข้อมูล