ภาพ Street View

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

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

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

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

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

  1. รับโทเค็นของเซสชัน ตรวจสอบให้แน่ใจว่า เพื่อตั้งค่า mapType เป็น streetview

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

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

    1. ข้อมูลเมตาของ 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 ให้ข้อมูลโดยละเอียดเกี่ยวกับพาโนรามาที่ระบุ รายละเอียดรวมถึงที่อยู่ที่เกี่ยวข้องและลิงก์ไปยังภาพพาโนรามาที่อยู่ติดกัน

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

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

คุณใช้ panoIds เพื่อทำสิ่งต่อไปนี้ได้

ข้อมูลเมตาของ 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
ขนาดของการ์ดพาโนรามา 1 ใบ
heading
ทิศทางของเข็มทิศซึ่งวัดเป็นองศาตามเข็มนาฬิกาจากทิศเหนือ ส่วนหัวคือ แสดงผลภายในช่วง [0,360] โดย 0 หมายถึงทิศเหนือที่ครบกำหนด
tilt
ความเอียงของพาโนรามา ซึ่งวัดเป็นองศาจากขั้วโลกใต้ของ พาโนรามาให้สุดลูกหูลูกตา ค่าที่ส่งกลับจะอยู่ในช่วง [0, 180] ค่า 90 องศาแสดงว่าเส้นขอบฟ้าอยู่ในแนวเดียวกันที่เส้นศูนย์สูตรแล้ว พาโนรามาด้วย
roll
การหมุนตามเข็มนาฬิการอบแนวสายตาที่ใช้กับ พาโนรามาเพื่อจัดระดับขอบฟ้า ค่าที่แสดงผลจะอยู่ในช่วง [0, 360]
imageryType
ระบุประเภทของรูปภาพ ค่าที่ถูกต้องคือ indoor และ outdoor
date
วันที่ถ่ายภาพ บางรูปภาพอาจไม่มีข้อมูลวันที่ แต่เมื่อ สามารถใช้ได้ ฟิลด์นี้มีชุดค่าผสมของปี (YYYY) และเดือน (MM) เช่น 2023-05 หรือ 2024
copyright
ข้อความลิขสิทธิ์ที่คุณต้องแสดงเป็นการแสดงที่มาพร้อมกับถนน ดูรูปภาพ
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 (รวมเลขตัวแรกและตัวสุดท้าย) ค่าเริ่มต้นคือ 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 45°
4 22.5°
5 11.25°

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

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

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

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

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

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

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