Ô Chế độ xem đường phố tương tự như Ô 2D ngoại trừ việc chứa hình ảnh toàn cảnh được chụp ở cấp đường phố. Thông qua Chế độ xem đường phố, bạn có thể khám phá các địa danh trên thế giới, xem các kỳ quan thiên nhiên và tham quan các địa điểm như bảo tàng, nhà thi đấu, nhà hàng hoặc doanh nghiệp nhỏ. Điểm cuối API này cho phép bạn truy cập vào:
- Thẻ thông tin Chế độ xem đường phố trên Google Maps
- Siêu dữ liệu của Chế độ xem đường phố
- Hình thu nhỏ của Chế độ xem đường phố
Bạn có thể ghép các ô hình ảnh được chụp từ cấp đường phố để tạo hiệu ứng toàn cảnh thực tế. Ngoài ra, bạn có thể truy vấn tối đa 100 mã nhận dạng ảnh toàn cảnh cho một nhóm vị trí (chẳng hạn như một tuyến đường) và nhận siêu dữ liệu chuyên sâu hơn về vị trí máy ảnh.
Người xem cần phải ghép các Thẻ thông tin Chế độ xem đường phố lại với nhau. Ví dụ: trình xem ảnh toàn cảnh tuỳ chỉnh Chế độ xem đường phố.
Sau khi có khoá API, bạn có thể truy cập vào hình ảnh Chế độ xem đường phố bằng cách thực hiện các bước sau.
Nhận mã thông báo phiên. Hãy nhớ đặt giá trị của
mapType
thànhstreetview
.Sử dụng mã thông báo phiên để lấy giá trị nhận dạng ảnh toàn cảnh (panoId) của một hoặc nhiều vị trí địa lý.
Sử dụng giá trị nhận dạng ảnh toàn cảnh trong phản hồi tìm kiếm panoId để nhận:
Siêu dữ liệu Chế độ xem đường phố. Bạn cũng có thể nhận siêu dữ liệu Chế độ xem đường phố bằng cách truyền một tập hợp toạ độ và bán kính.
Phương thức Chế độ xem đường phố
Bạn có thể truy cập vào hình ảnh và siêu dữ liệu của Chế độ xem đường phố bằng cách gọi một trong bốn phương thức sau.
Phương thức | Mô tả |
---|---|
https://tile.googleapis.com/v1/streetview/tiles |
Trả về từng Thẻ thông tin Chế độ xem đường phố. Bạn có thể truy xuất Thẻ thông tin Chế độ xem đường phố ở 6 cấp độ thu phóng: từ 512 pixel đến 13.312 pixel. |
https://tile.googleapis.com/v1/streetview/panoIds |
Cho phép bạn tìm kiếm hàng loạt tối đa 100 vị trí. Trả về mã nhận dạng ảnh toàn cảnh cho tất cả vị trí có hình ảnh. |
https://tile.googleapis.com/v1/streetview/thumbnail |
Trả về hình ảnh JPEG thu nhỏ của một cảnh trong Chế độ xem đường phố. Cho phép bạn cung cấp tiêu đề, độ dốc, kích thước và trường nhìn. Kích thước tối thiểu là 16x16 pixel. Kích thước tối đa là 250x600 pixel. |
https://tile.googleapis.com/v1/streetview/metadata |
Cung cấp thông tin chi tiết về ảnh toàn cảnh được chỉ định. Thông tin chi tiết bao gồm địa chỉ liên quan và đường liên kết đến các ảnh toàn cảnh liền kề. |
Tìm kiếm panoIds trong Chế độ xem đường phố
Bạn có thể tìm giá trị nhận dạng ảnh toàn cảnh của một hoặc nhiều vị trí địa lý bằng cách truyền toạ độ của các vị trí đó (lat
, lng
) vào phương thức panoIds
. Nội dung yêu cầu là một đối tượng JSON chứa một mảng locations
và tuỳ ý là một radius
, như trong ví dụ về mã JSON sau.
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
- Mảng
locations
phải chứa ít nhất một tập hợp giá trị toạ độ, nhưng bạn có thể thêm nhiều tập hợp hơn – tối đa là 100. radius
- Giá trị
radius
(đo bằng mét) xác định bán kính của vòng tròn xung quanh vị trí đã cho để tìm kiếm ảnh toàn cảnh. Giá trị mặc định là 50 mét.
Phản hồi PanoId
API Thẻ thông tin trên bản đồ sẽ cố gắng tìm ảnh toàn cảnh gần nhất với từng vị trí, sau đó trả về mã nhận dạng ảnh toàn cảnh. Yêu cầu panoIds
thành công sẽ trả về một đối tượng JSON chứa một mảng panoIds
. Mảng này chứa danh sách các mã hình ảnh toàn cảnh, theo thứ tự bạn yêu cầu. Nếu Map Tiles API không tìm thấy ảnh toàn cảnh nào cho các vị trí mà bạn yêu cầu, thì một chuỗi trống sẽ được trả về tại vị trí đó trong mảng. Ví dụ: hãy xem mã JSON sau.
{
"panoIds": [
"ACfH-n2HcBvRry_3oc9grw",
"f5DJZatBAAAXHlooS2wKbw",
""
]
}
Bạn có thể sử dụng panoIds
để:
- Yêu cầu siêu dữ liệu Chế độ xem đường phố
- Yêu cầu hình thu nhỏ của Chế độ xem đường phố
- Yêu cầu ô Chế độ xem đường phố
Siêu dữ liệu của Chế độ xem đường phố
Yêu cầu siêu dữ liệu của Chế độ xem đường phố truy xuất thông tin về ảnh toàn cảnh. Yêu cầu siêu dữ liệu Chế độ xem đường phố là một yêu cầu GET qua HTTPS. Bạn có thể truy xuất thông tin về ảnh toàn cảnh theo một trong hai cách sau:
Nếu bạn truyền
pano_id
, thì Map Tiles API sẽ trả về siêu dữ liệu cho ảnh toàn cảnh đó.Tuy nhiên, nếu bạn truyền
lat
vàlng
, thì API Thẻ thông tin trên bản đồ sẽ trả về siêu dữ liệu cho ảnh toàn cảnh gần nhất trong bán kính tìm kiếm đã cho.
Truyền một tập hợp toạ độ và bán kính
curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY &lat=lat &lng=lng &radius=meters"
Vì mã nhận dạng ảnh toàn cảnh là tạm thời, nên bạn nên truyền một tập hợp toạ độ và giá trị radius
trong yêu cầu siêu dữ liệu ban đầu của Chế độ xem đường phố.
Để biết ví dụ, hãy xem đoạn mã sau.
curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY &lat=47.62066 &lng=-122.34923 &radius=50"
Truyền panoId của hình ảnh Chế độ xem đường phố
curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY &panoId=panoId"
Phản hồi siêu dữ liệu
Mã JSON sau đây là ví dụ về phản hồi siêu dữ liệu thông thường.
{
"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"
}
]
}
Danh sách sau đây chứa định nghĩa về các trường trong nội dung phản hồi.
panoId
- Mã nhận dạng duy nhất của ảnh toàn cảnh này. Bạn không nên dựa vào mã nhận dạng ảnh toàn cảnh có hiệu lực lâu hơn một phiên người dùng.
lat
,lng
- Toạ độ (vĩ độ và kinh độ) của ảnh toàn cảnh. Các giá trị này có thể khác với toạ độ mà bạn đã truyền vào yêu cầu vì vị trí chụp nhanh đến ảnh toàn cảnh gần nhất.
imageHeight
,imageWidth
- Kích thước của hình ảnh toàn cảnh được ghép.
tileHeight
,tileWidth
- Kích thước của một thẻ thông tin ảnh toàn cảnh.
heading
- Góc phương vị của la bàn, được đo bằng độ, theo chiều kim đồng hồ từ hướng Bắc. Các hướng được trả về trong phạm vi [0,360], trong đó 0 thể hiện hướng Bắc.
tilt
- Góc nghiêng của ảnh toàn cảnh, được đo bằng độ từ cực nam của ảnh toàn cảnh đến đường chân trời. Các giá trị được trả về nằm trong khoảng [0, 180]. Giá trị 90 độ cho biết đường chân trời đã được căn chỉnh tại đường xích đạo của ảnh toàn cảnh.
roll
- Thao tác xoay theo chiều kim đồng hồ xung quanh đường ngắm được áp dụng cho ảnh toàn cảnh để làm phẳng đường chân trời. Các giá trị được trả về nằm trong khoảng [0, 360].
imageryType
- Cho biết loại hình ảnh. Các giá trị hợp lệ là
indoor
vàoutdoor
. date
- Ngày chụp ảnh. Không phải hình ảnh nào cũng có dữ liệu ngày tháng. Tuy nhiên, khi có sẵn, trường này sẽ chứa tổ hợp năm (YYYY) và tháng (MM). Ví dụ: 2023-05 hoặc 2024.
copyright
- Văn bản bản quyền mà bạn phải hiển thị dưới dạng thông tin ghi công cùng với hình ảnh Chế độ xem đường phố.
reportProblemLink
- Đường siêu liên kết để người dùng sử dụng nhằm báo cáo vấn đề về thẻ thông tin Chế độ xem đường phố này. Bạn phải hiển thị siêu liên kết này ở góc dưới cùng bên phải của hình ảnh và siêu liên kết phải có văn bản liên kết như "Báo cáo vấn đề với hình ảnh này".
addressComponent
- Mã địa lý có cấu trúc chứa thông tin chi tiết về địa chỉ của ảnh toàn cảnh. Để biết thêm thông tin, hãy xem phần Yêu cầu và phản hồi về việc mã hoá địa lý trong tài liệu về API Mã hoá địa lý.
links
- Danh sách mã nhận dạng ảnh toàn cảnh liên kết với ảnh toàn cảnh này. Cũng chứa tiêu đề mà bạn tìm thấy đường liên kết. Ví dụ: nếu hướng là 180°, thì ảnh toàn cảnh được liên kết sẽ nằm ở phía nam của ảnh toàn cảnh hiện tại. Xin lưu ý rằng do tính chất tạm thời của mã nhận dạng ảnh toàn cảnh, bạn không nên dựa vào các mã này cho nhiều phiên người dùng.
Hình thu nhỏ của Chế độ xem đường phố
Bạn có thể yêu cầu hình ảnh trong Chế độ xem đường phố ở định dạng thumbnail
. Hình thu nhỏ là hình ảnh không xếp kề có kích thước, tiêu đề, độ cao và trường nhìn do người dùng xác định.
Hình thu nhỏ có độ phân giải thấp hơn và kích thước tệp nhỏ hơn so với thẻ thông tin. Bạn tạo yêu cầu hình thu nhỏ bằng cách gửi yêu cầu GET đến điểm cuối thumbnail
, như minh hoạ trong nguyên mẫu mã sau.
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"
Hãy xem xét ví dụ về mã sau đây để tải hình thu nhỏ của hình ảnh Chế độ xem đường phố được chụp ở Whistler, Canada.
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
Thông số bắt buộc
panoId
- Mã nhận dạng duy nhất của hình thu nhỏ mà bạn muốn. Bạn có thể lấy giá trị mã nhận dạng ảnh toàn cảnh từ điểm cuối
panoIds
hoặc từ điểm cuốimetadata
. Cả hai đều chấp nhận toạ độ địa lý và trả vềpanoId
thích hợp. session
- Mã thông báo phiên hợp lệ.
key
- Khoá API của bạn.
Thông số tùy chọn
height
- Chỉ định chiều cao của hình thu nhỏ tính bằng pixel, trong khoảng từ 16 pixel đến 250 pixel. Nếu bạn không chỉ định chiều cao, thì chiều cao mặc định sẽ là giá trị tối đa được phép là 250 pixel. Nếu bạn chỉ định một giá trị nằm ngoài phạm vi, thì hình thu nhỏ sẽ nhấp vào giá trị hợp lệ gần nhất.
width
- Chỉ định chiều rộng của hình thu nhỏ tính bằng pixel, từ 16 pixel đến 600 pixel. Nếu bạn không chỉ định chiều rộng, thì chiều rộng sẽ mặc định là giá trị tối đa được phép là 600 pixel. Nếu bạn chỉ định một giá trị nằm ngoài phạm vi, thì hình thu nhỏ sẽ nhấp vào giá trị hợp lệ gần nhất.
pitch
- Chỉ định góc của máy ảnh dọc theo trục dọc. Các giá trị hợp lệ nằm trong phạm vi từ
-90
đến90
(bao gồm cả hai giá trị này). Giá trị mặc định là 0. yaw
- Chỉ định hướng của máy ảnh dọc theo trục hoành. Giá trị hợp lệ nằm trong phạm vi từ
-360
đến360
(bao gồm cả hai giá trị này). Giá trị mặc định là 0. fov
- Chỉ định trường nhìn theo chiều ngang, được biểu thị bằng độ, với giá trị tối đa là 120. Khi xử lý khung nhìn có kích thước cố định, chẳng hạn như hình ảnh Chế độ xem đường phố có kích thước đã đặt, trường nhìn sẽ biểu thị mức thu phóng; trong đó các giá trị nhỏ hơn chỉ định mức thu phóng cao hơn. Giá trị mặc định là 90.
Thẻ thông tin hình ảnh trong Chế độ xem đường phố
Sau khi có panoId
, bạn có thể yêu cầu một ô hình ảnh Chế độ xem đường phố. Yêu cầu Thẻ thông tin là yêu cầu GET qua HTTPS. Hãy xem ví dụ sau đây.
curl "https://tile.googleapis.com/v1/streetview/tiles/z/x/y?session=YOUR_SESSION_TOKEN &key=YOUR_API_KEY &panoId=panoId"
Trong ví dụ về mã này, z
là mức thu phóng, còn x
và y
là tọa độ ô của ô Chế độ xem đường phố mà bạn muốn. Độ thu phóng trong ảnh toàn cảnh trên Chế độ xem đường phố phải nằm trong khoảng [0,5], trong đó 0 thể hiện trường nhìn rộng nhất.
Cấp thu phóng | Trường nhìn gần đúng |
---|---|
0 | 360° |
1 | 180° |
2 | 90° |
3 | 45° |
4 | 22,5° |
5 | 11,25° |
Câu trả lời về Thẻ thông tin Chế độ xem đường phố
Yêu cầu thẻ thông tin Chế độ xem đường phố thành công sẽ trả về hình ảnh có định dạng và kích thước mà bạn chỉ định trong phản hồi createSession
.
Ở cấp thu phóng 0, toàn bộ ảnh toàn cảnh được đổi kích thước thành một ô có kích thước tileWidth
x tileHeight
. Vì ảnh toàn cảnh có kích thước lớn hơn theo phương diện x, nên thẻ thông tin sẽ chứa không gian trống theo phương diện y:
Ở mức thu phóng 5, ảnh toàn cảnh ở kích thước đầy đủ được sử dụng và chia thành các ô.
Thông tin bản quyền
Bạn phải đăng thông tin bản quyền cùng với mọi ảnh toàn cảnh trên Chế độ xem đường phố. Chuỗi cần hiển thị có thể khác nhau giữa các ảnh toàn cảnh. Để nhận thông tin về bản quyền, bạn phải yêu cầu siêu dữ liệu của Chế độ xem đường phố, sau đó bạn có thể tham khảo trường copyright
của phản hồi. Để biết thêm thông tin, hãy xem phần Phân bổ dữ liệu.