ภาพ Street View

ตัวอย่าง 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 และข้อมูลเมตาได้โดยเรียกใช้ 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 แห่ง แสดงรหัสพาโนรามาสำหรับทุกตำแหน่งที่มีภาพ
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 จะพยายามค้นหาภาพพาโนรามาที่ใกล้กับแต่ละตำแหน่งมากที่สุด จากนั้น 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
รหัสที่ไม่ซ้ำกันของพาโนรามานี้ คุณไม่ควรพึ่งพารหัสพาโนรามาที่ ใช้ได้นานกว่าเซสชันผู้ใช้ 1 ราย
lat lng
พิกัด (ละติจูดและลองจิจูด) ของพาโนรามา ค่าเหล่านี้อาจแตกต่างจากพิกัดที่คุณส่งในคำขอ เนื่องจากตำแหน่งจะสแนปไปยังพาโนรามาที่ใกล้ที่สุด
imageHeight imageWidth
ขนาดของรูปภาพพาโนรามาที่เย็บเข้าด้วยกัน
tileHeight tileWidth
ขนาดของการ์ดพาโนรามา 1 ใบ
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 ที่ถ่ายใน Whistler ประเทศแคนาดา

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 ซึ่งทั้งคู่ยอมรับพิกัดทางภูมิศาสตร์และแสดงผลpanoIdที่เหมาะสม
session
โทเค็นของเซสชันที่ถูกต้อง
key
คีย์ API ของคุณ

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

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

ชิ้นส่วนรูปภาพ Street View

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

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
4 22.5°
5 11.25°

การตอบกลับการ์ด Street View

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

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

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

ระดับการซูมเป็น 0

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

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