Siêu dữ liệu hình ảnh trong Chế độ xem đường phố

Giới thiệu

Các yêu cầu siêu dữ liệu của API tĩnh cho Chế độ xem đường phố cung cấp dữ liệu về ảnh toàn cảnh của 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ó sẵn tại một vị trí nhất định hay không, cũng như nhận quyền truy cập có lập trình vào toạ độ kinh độ và vĩ độ, mã nhận dạng ảnh toàn cảnh, ngày chụp ảnh và thông tin bản quyền của hình ảnh đó. Khi truy cập vào siêu dữ liệu này, bạn có thể 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 API tĩnh cho Chế độ xem đường phố 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 hình ảnh bằng API tĩnh của Chế độ xem đường phố.

Khi đưa ra yêu cầu siêu dữ liệu hình ảnh trong Chế độ xem đường phố, hình ảnh toàn cảnh có độ chính xác đến 50 mét.

Truy cập vào siêu dữ liệu hình ảnh

Yêu cầu siêu dữ liệu 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ả tham số được phân tách bằng ký tự dấu và (&).

Tham số bắt buộc cho yêu cầu siêu dữ liệu

Các yêu cầu siêu dữ liệu chấp nhận các tham số URL giống nhau như các yêu cầu về hình ảnh tĩnh API của Chế độ xem đường phố, mặc dù chỉ có các tham số sau là bắt buộc:

Hãy thực hiện một trong các 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 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 vĩ độ và kinh độ để bạn có thể làm mới mã nhận dạng ảnh toàn cảnh. Để biết thông tin chi tiết, hãy xem phần Làm mới mã nhận dạng ảnh toàn cảnh đã xoá.

Cũng như:

  • keysignature – bắt buộc phải có khoá API để xác thực yêu cầu. Trong một số trường hợp, chữ ký số cũng là bắt buộc và luôn nên có. Để biết thêm thông tin, hãy xem phần Nhận 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=

hoặc như thế này:

https://maps.googleapis.com/maps/api/streetview/metadata?pano=&key=YOUR_API_KEY&signature=

Làm mới mã ảnh toàn cảnh đã xoá

Nếu bạn cố gắng truy xuất mã nhận dạng ảnh toàn cảnh nhưng nhận được ZERO_RESULTS hoặc không có giá trị nào, thì mã nhận dạng ảnh toàn cảnh đã bị xoá và cần được làm mới.

  1. Lưu địa chỉ vị trí hoặc vĩ độ và kinh độ bạn đã sử dụng để nhận ID ảnh toàn cảnh để bạn có thể làm mới khi cần.

  2. Khi bạn phát hiện thấy mã nhận dạng ảnh toàn cảnh đã thay đổi, hãy sử dụng địa chỉ vị trí ban đầu hoặc vĩ độ và kinh độ để tìm kiếm lại ảnh toàn cảnh gần nhất với vị trí đó và nhận mã nhận dạng ảnh toàn cảnh mới.

Thông số không bắt buộc cho yêu cầu siêu dữ liệu

Bạn có thể đưa các tham số sau vào yêu cầu siêu dữ liệu: size, heading, fovpitch. 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 dữ liệu toàn cảnh được tìm thấy. API cho phép đưa vào các tham số giống như yêu cầu hình ảnh để dễ dàng tạo yêu cầu siêu dữ liệu liên quan đến một yêu cầu hình ảnh cụ thể, nhưng đối với các yêu cầu 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 thông số này, hãy xem Hướng dẫn dành cho nhà phát triển API Chế độ xem đường phố tĩnh.

Định dạng câu trả lờ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 đó dự kiến sẽ có hình ảnh bị thiếu.

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
Tháp Eiffel

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 ảnh toàn cảnh không thể tìm thấy tại hoặc gần vị trí đã 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
Phần giữ chỗ Không có hình ảnh nào ở đây

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ì sao 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 Nội dung mô tả
"OK" Cho biết rằng không xảy ra lỗi; đã tìm thấy ảnh toàn cảnh và trả về siêu dữ liệu.
"ZERO_RESULTS" Cho biết rằng không thể tìm thấy ảnh toàn cảnh nào gần vị trí đã cung cấp. Phản hồi này có thể xảy ra nếu bạn cung cấp mã ảnh toàn cảnh không tồn tại hoặc không hợp lệ. Xem [Làm mới các mã ảnh 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 đị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 yêu cầu hoặc nếu API tĩnh của Chế độ xem đường phố chưa được kích hoạt trong dự án Google Cloud Console có chứa khoá API của bạn.
"INVALID_REQUEST" Thường thì cho biết rằng các tham số truy vấn (địa chỉ, vĩ độ và kinh độ hoặc các thành phần) đang bị thiếu.
"UNKNOWN_ERROR" Cho biết rằng không thể xử lý yêu cầu 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 API tĩnh của Chế độ xem đường phố hoặc các sản phẩm khác của API Google Maps, hãy nhớ xem trang hỗ trợ của API Maps.