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

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

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

x

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