ชิ้นส่วน Street View คล้ายกับกระเบื้อง 2 มิติ เว้นแต่ว่าจะมีภาพพาโนรามาที่ถ่ายที่ระดับถนน คุณจะสำรวจจุดสังเกตทั่วโลก ดูความมหัศจรรย์ทางธรรมชาติ และเยี่ยมชมด้านในของสถานที่ต่างๆ เช่น พิพิธภัณฑ์ สนามกีฬา ร้านอาหาร หรือธุรกิจขนาดย่อมได้ด้วย Street View อุปกรณ์ปลายทาง API นี้ให้คุณเข้าถึงสิ่งต่อไปนี้ได้
- ชิ้นส่วนแผนที่ Street View ของ Google Maps
- ข้อมูลเมตาของ Street View
- ภาพขนาดย่อของ Street View
คุณสามารถต่อภาพชิ้นส่วนภาพที่ถ่ายจากระดับถนนเข้าด้วยกันเพื่อสร้างเอฟเฟ็กต์พาโนรามาเหมือนจริง และสามารถค้นหารหัสพาโนรามาได้สูงสุด 100 รหัสสำหรับชุดสถานที่ (เช่น เส้นทาง) และรับข้อมูลเมตาที่ละเอียดยิ่งขึ้นเกี่ยวกับตำแหน่งของกล้อง
ต้องมีผู้ชมเพื่อต่อการ์ด Street View เข้าด้วยกัน ตัวอย่างเช่น โปรแกรมดูภาพพาโนรามาที่กำหนดเอง Street View
เมื่อมีคีย์ API แล้ว คุณจะเข้าถึงภาพ Street View ได้โดยทำตามขั้นตอนต่อไปนี้
รับโทเค็นของเซสชัน อย่าลืมตั้งค่า
mapType
เป็นstreetview
ใช้โทเค็นเซสชันเพื่อรับตัวระบุพาโนรามา (panoId) ของตำแหน่งทางภูมิศาสตร์อย่างน้อย 1 รายการ
ใช้ตัวระบุพาโนรามาจากการตอบกลับการค้นหา panoId เพื่อให้ได้รับข้อมูลต่อไปนี้
ข้อมูลเมตาของ Street View คุณยังสามารถรับข้อมูลเมตา ของ 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 |
ให้ข้อมูลโดยละเอียดเกี่ยวกับพาโนรามาที่ระบุ รายละเอียดรวมถึงที่อยู่ที่เกี่ยวข้องและลิงก์ไปยังภาพพาโนรามาที่อยู่ติดกัน |
การค้นหาภาพพาโนรามาใน Street View
คุณสามารถค้นหาตัวระบุพาโนรามาของสถานที่ตั้งทางภูมิศาสตร์ได้อย่างน้อย 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
พารามิเตอร์ที่จำเป็น
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 | 7° |
4 | 22.5° |
5 | 11.25° |
การตอบกลับการ์ด Street View
คำขอการ์ด Street View ที่สำเร็จจะแสดงรูปภาพในรูปแบบและขนาดที่คุณระบุไว้ในคำตอบ createSession
ที่ระดับการซูม 0 พาโนรามาทั้งหมดจะได้รับการปรับขนาดเป็นชิ้นส่วนขนาด tileWidth
x tileHeight
เนื่องจากภาพพาโนรามามีขนาดใหญ่กว่าในมิติ x
ไทล์จึงจะมีพื้นที่ว่างในมิติ y ดังนี้
เมื่อซูมระดับที่ 5 ภาพพาโนรามาขนาดเต็มจะถูกใช้งานและแบ่งออกเป็นชิ้นส่วน
ข้อมูลลิขสิทธิ์
คุณต้องแสดงข้อมูลลิขสิทธิ์ในภาพพาโนรามาของ Street View ทุกภาพ สตริงที่จะแสดงอาจแตกต่างกันไปในแต่ละภาพพาโนรามา หากต้องการรับข้อมูลลิขสิทธิ์
คุณต้องขอข้อมูลเมตาของ Street View จากนั้นดูที่ช่อง copyright
ของคำตอบ ดูข้อมูลเพิ่มเติมได้ที่การระบุแหล่งที่มาของข้อมูล