Giới thiệu
Các yêu cầu về siêu dữ liệu của Street View Static API cung cấp dữ liệu về ảnh toàn cảnh trong Chế độ xem đường phố. Bằng cách sử dụng siêu dữ liệu, bạn có thể biết liệu hình ảnh Chế độ xem đường phố có ở một vị trí nhất định hay không, cũng như có quyền truy cập theo chương trình vào toạ độ (vĩ độ và kinh độ), mã nhận dạng toàn cảnh, ngày chụp ảnh và thông tin bản quyền của hình ảnh. Việc truy cập vào siêu dữ liệu này cho phép bạn tuỳ chỉnh hành vi lỗi trong ứng dụng của mình.
Bạn có thể yêu cầu siêu dữ liệu Street View Static API mà không mất phí. Không có hạn mức nào được sử dụng khi bạn yêu cầu siêu dữ liệu. Hạn mức chỉ được sử dụng khi bạn tải một hình ảnh bằng Street View Static API.
Khi đưa ra yêu cầu về siêu dữ liệu hình ảnh trong Chế độ xem đường phố, hình ảnh toàn cảnh sẽ chính xác đến 50 mét.
Truy cập vào siêu dữ liệu của hình ảnh
Yêu cầu siêu dữ liệu về hình ảnh trong Chế độ xem đường phố là một URL HTTP có dạng sau:
https://maps.googleapis.com/maps/api/streetview/metadata?parameters
Theo tiêu chuẩn trong URL, tất cả các tham số đều được phân tách bằng ký tự dấu và (&).
Các tham số bắt buộc cho yêu cầu siêu dữ liệu
Các yêu cầu về siêu dữ liệu chấp nhận các tham số URL tương tự như các yêu cầu về hình ảnh của Street View Static API, mặc dù chỉ cần các tham số sau:
Hãy thực hiện một trong hai thao tác sau:
location
– có thể là một chuỗi văn bản (chẳng hạn nhưChagrin Falls, OH
) hoặc một cặp toạ độ vĩ độ và kinh độ được phân tách bằng dấu phẩy (40.457375,-80.009353
).
hoặc:
pano
– một mã nhận dạng ảnh toàn cảnh cụ thể. Ảnh toàn cảnh có thể thay đổi mã nhận dạng theo thời gian, vì vậy, đừng duy trì mã nhận dạng này. Thay vào đó, hãy lưu địa chỉ vị trí hoặc toạ độ vĩ độ và kinh độ để bạn có thể làm mới mã nhận dạng toàn cảnh. Để biết thông tin chi tiết, hãy xem bài viết Làm mới mã nhận dạng toàn cảnh đã xoá.
Cũng như:
key
vàsignature
– bạn phải có khoá API để xác thực yêu cầu. Chữ ký kỹ thuật số cũng là yêu cầu bắt buộc trong một số trường hợp và luôn được khuyến khích. Để biết thêm thông tin, hãy xem bài viết Lấy khoá và chữ ký.
Yêu cầu siêu dữ liệu của bạn (chỉ có các tham số bắt buộc) sẽ có dạng như sau:
https://maps.googleapis.com/maps/api/streetview/metadata?location=&key=YOUR_API_KEY&signature=<YOUR_SIGNATURE>
hoặc như sau:
https://maps.googleapis.com/maps/api/streetview/metadata?pano=&key=YOUR_API_KEY&signature=<YOUR_SIGNATURE>
Làm mới mã nhận dạng ảnh toàn cảnh đã xoá
Nếu bạn cố gắng truy xuất một mã nhận dạng toàn cảnh và nhận được ZERO_RESULTS
hoặc không có giá trị, thì mã nhận dạng toàn cảnh đó đã bị xoá và cần được làm mới.
Lưu địa chỉ vị trí hoặc toạ độ (vĩ độ và kinh độ) mà bạn đã dùng để lấy mã nhận dạng toàn cảnh để có thể làm mới khi cần.
Khi bạn phát hiện thấy mã nhận dạng toàn cảnh đã thay đổi, hãy sử dụng địa chỉ vị trí ban đầu hoặc toạ độ vĩ độ và kinh độ để tìm lại các bức ảnh toàn cảnh gần nhất với vị trí đó và nhận mã nhận dạng toàn cảnh mới.
Tham số không bắt buộc cho yêu cầu siêu dữ liệu
Bạn có thể thêm các thông số sau vào yêu cầu siêu dữ liệu: size
, heading
, fov
và pitch
. Xin lưu ý rằng các thông số này không ảnh hưởng đến dữ liệu về ảnh toàn cảnh hoặc ảnh toàn cảnh nào được tìm thấy.
API cho phép đưa các tham số tương tự như yêu cầu về hình ảnh để giúp bạn dễ dàng tạo yêu cầu về siêu dữ liệu liên quan đến một yêu cầu cụ thể về hình ảnh. Tuy nhiên, đối với các yêu cầu về siêu dữ liệu, API sẽ bỏ qua các tham số không bắt buộc và giá trị của các tham số đó. Để biết thông tin về cách sử dụng các tham số này, hãy xem hướng dẫn cho nhà phát triển về Street View Static API.
Định dạng phản hồi
Phản hồi siêu dữ liệu chỉ được trả về ở định dạng JSON.
Ví dụ
Ví dụ 1: Đã tìm thấy ảnh toàn cảnh
Các URL sau đây yêu cầu thành công siêu dữ liệu và hình ảnh của cùng một ảnh toàn cảnh.
Yêu cầu và phản hồi siêu dữ liệu
https://maps.googleapis.com/maps/api/streetview/metadata?size=600x300&location=eiffel%20tower,%20paris,%20france&heading=-45&pitch=42&fov=110&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
{ "copyright" : "© 2017 Google", "date" : "2016-05", "location" : { "lat" : 48.85783227207914, "lng" : 2.295226175151347 }, "pano_id" : "tu510ie_z4ptBZYo2BGEJg", "status" : "OK" }
Yêu cầu và phản hồi về hình ảnh, trong đó hình ảnh bị thiếu là hình ảnh dự kiến.
https://maps.googleapis.com/maps/api/streetview?size=600x300&location=eiffel%20tower,%20paris,%20france&heading=-45&pitch=42&fov=110&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Ví dụ 2: Không tìm thấy ảnh toàn cảnh
Các URL sau đây yêu cầu siêu dữ liệu và hình ảnh cho một ảnh toàn cảnh không tìm thấy tại hoặc gần vị trí được chỉ định.
Yêu cầu và phản hồi siêu dữ liệu
https://maps.googleapis.com/maps/api/streetview/metadata?size=600x300&location=78.648401,14.194336&fov=90&heading=235&pitch=10&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
{ "status" : "ZERO_RESULTS" }
Yêu cầu và phản hồi về hình ảnh
https://maps.googleapis.com/maps/api/streetview?size=600x300&location=78.648401,14.194336&fov=90&heading=235&pitch=10&key=YOUR_API_KEY&signature=YOUR_SIGNATURE
Mã trạng thái
Trường status
trong đối tượng phản hồi siêu dữ liệu chứa trạng thái của yêu cầu và có thể chứa thông tin gỡ lỗi để giúp bạn khắc phục sự cố về lý do yêu cầu Chế độ xem đường phố không hoạt động. Trường status
có thể chứa các giá trị sau:
Trạng thái | Mô tả |
---|---|
"OK" |
Cho biết rằng không xảy ra lỗi; hệ thống tìm thấy một ảnh toàn cảnh và trả về siêu dữ liệu. |
"ZERO_RESULTS" |
Cho biết không tìm thấy ảnh toàn cảnh nào gần vị trí được cung cấp. Phản hồi này có thể xảy ra nếu bạn cung cấp một mã nhận dạng toàn cảnh không tồn tại hoặc không hợp lệ. Xem phần [Làm mới mã nhận dạng toàn cảnh đã xoá](#refresh-pano). |
"NOT_FOUND" |
Cho biết rằng không tìm thấy chuỗi địa chỉ được cung cấp trong tham số location . Thông báo này có thể xuất hiện nếu bạn cung cấp một địa chỉ không tồn tại. |
"OVER_QUERY_LIMIT" |
Cho biết rằng bạn đã vượt quá hạn mức hằng ngày hoặc hạn mức mỗi giây cho API này. |
"REQUEST_DENIED" |
Cho biết rằng yêu cầu của bạn đã bị từ chối. Thông báo này có thể xuất hiện nếu bạn không uỷ quyền cho yêu cầu của mình hoặc nếu Street View Static API không được kích hoạt trong dự án Google Cloud Console có chứa khoá API của bạn. |
"INVALID_REQUEST" |
Thường cho biết rằng các tham số truy vấn (địa chỉ, toạ độ vĩ độ và kinh độ hoặc thành phần) bị thiếu. |
"UNKNOWN_ERROR" |
Cho biết rằng yêu cầu không xử lý được do lỗi máy chủ. Vấn đề này thường chỉ là tạm thời. Yêu cầu có thể thành công nếu bạn thử lại. |
Thông tin khác
Để biết thêm thông tin về cách sử dụng Street View Static API hoặc các sản phẩm API Google Maps khác, hãy nhớ xem trang Hỗ trợ của Maps API.