ภาพ Street View

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

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

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

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

คุณสามารถต่อชิ้นส่วนรูปภาพที่ถ่ายจากระดับถนนเข้าด้วยกันเพื่อสร้างเอฟเฟกต์ภาพพาโนรามาที่สมจริง และคุณสามารถค้นหารหัสภาพพาโนรามาได้สูงสุด 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 ได้โดยเรียกใช้เมธอดใดเมธอดหนึ่งจาก 4 เมธอดต่อไปนี้

วิธีการ คำอธิบาย
https://tile.googleapis.com/v1/streetview/tiles แสดงผลชิ้นส่วนแผนที่ Street View แต่ละรายการ คุณสามารถดึงข้อมูลชิ้นส่วนแผนที่ Street View ได้ที่ระดับการซูม 6 ระดับ ตั้งแต่ 512 พิกเซลไปจนถึง 13,312 พิกเซล
https://tile.googleapis.com/v1/streetview/panoIds ช่วยให้คุณค้นหาสถานที่พร้อมกันได้สูงสุด 100 แห่ง แสดงรหัสภาพพาโนรามาสำหรับสถานที่ทั้งหมดที่มีภาพ
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 จะพยายามค้นหาภาพพาโนรามาที่อยู่ใกล้กับแต่ละสถานที่มากที่สุด แล้วแสดงรหัสภาพพาโนรามาเหล่านั้น คำขอ panoIds ที่สำเร็จจะแสดงผลออบเจ็กต์ JSON ที่มีอาร์เรย์ panoIds อาร์เรย์มีรายการรหัสพาโนรามาตามลำดับที่คุณขอ หาก 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"

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

ภาพขนาดย่อของ 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
รหัสที่ไม่ซ้ำกันของภาพปกที่ต้องการ คุณสามารถรับค่ารหัสพาโนรามาจากปลายทาง 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 คูณ tileHeight เนื่องจากภาพพาโนรามามีขนาดใหญ่กว่าในมิติข้อมูล x ไทล์จึงมีพื้นที่ว่างในมิติข้อมูล y ดังนี้

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

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

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