Mã hoá địa lý với độ chính xác cao hơn

Nhà phát triển ở Khu vực kinh tế Châu Âu (EEA)

Các phương thức GeocodeAddress và SearchDestinations hỗ trợ tham số effort không bắt buộc, cho phép bạn kiểm soát sự đánh đổi giữa độ trễ phản hồi và độ chính xác của việc phân giải địa chỉ.

Mặc dù tính năng mã hoá địa lý tiêu chuẩn xử lý các địa chỉ bưu chính có định dạng chuẩn trong độ trễ dưới một giây, nhưng thông tin đầu vào trong thực tế thường không đầy đủ, không chính thức hoặc phức tạp (ví dụ: "Flat 4B, Sunrise Apartments, opposite Central Mall, Andheri West, Mumbai" hoặc "where the warriors play, sf"). Bằng cách định cấu hình cấp effort cao hơn, bạn có thể hướng dẫn Geocoding API áp dụng lý luận mở rộng và phân định để giải quyết các địa chỉ khó.

Mức độ nỗ lực

Chỉ định một trong các giá trị sau cho tham số effort:

Mức độ nỗ lực Mô tả Độ trễ thông thường Trường hợp sử dụng đề xuất
EFFORT_UNSPECIFIED Giá trị mặc định. Hoạt động giống như nỗ lực LOW. Dưới một giây Mã hoá địa lý tiêu chuẩn mặc định.
LOW Tối ưu hoá để có thời gian phản hồi nhanh nhất. Không thực hiện tìm kiếm mở rộng hoặc phân biệt cho các địa chỉ khó. Dưới một giây Tra cứu tương tác theo thời gian thực, xác thực địa chỉ chuẩn với số lượng lớn.
MEDIUM Cân bằng giữa tốc độ và độ chính xác. Hầu hết các yêu cầu đều trả về kết quả với độ trễ thấp tiêu chuẩn. Đối với các địa chỉ mơ hồ hoặc khó xác định, dịch vụ này sẽ áp dụng thêm quy trình xử lý để cải thiện độ chính xác, có thể mất đến vài giây. Dưới một giây đối với địa chỉ chuẩn; tối đa vài giây (≤ 4 giây) đối với địa chỉ không rõ ràng Quy trình làm việc tương tác của người dùng (chẳng hạn như xác nhận địa chỉ khi thanh toán) mà người dùng có thể chấp nhận một khoảng tạm dừng ngắn.
HIGH Tối đa hoá độ chính xác của việc phân giải địa chỉ cho các địa chỉ chưa hoàn chỉnh, không chính thức hoặc phức tạp. Thời gian phản hồi có thể lâu hơn đáng kể. Tối đa 20 giây đối với địa chỉ phức tạp Tiến trình nền, mã hoá địa lý theo nhóm, điều phối hoạt động hậu cần hoặc tinh chỉnh địa chỉ không đồng bộ sau khi thanh toán.

Ví dụ về yêu cầu

Tìm điểm đến (SearchDestinations)

Thêm trường effort vào phần nội dung yêu cầu JSON của yêu cầu POST đến https://geocode.googleapis.com/v4alpha/geocode/destinations. Tham số effort chủ yếu ảnh hưởng đến độ phân giải addressQuery:

curl -X POST -d '{
  "addressQuery": {
    "addressQuery": "Flat 4B, Sunrise Apartments, opposite Central Mall, Andheri West, Mumbai"
  },
  "effort": "HIGH"
}' \
-H 'Content-Type: application/json' \
-H "X-Goog-Api-Key: API_KEY" \
-H "X-Goog-FieldMask: *" \
https://geocode.googleapis.com/v4alpha/geocode/destinations

Mã hoá địa lý một địa chỉ (GeocodeAddress)

Truyền tham số effort dưới dạng tham số truy vấn URL trong yêu cầu GET đến điểm cuối /v4alpha/:

curl -X GET -H 'Content-Type: application/json' \
-H "X-Goog-Api-Key: API_KEY" \
"https://geocode.googleapis.com/v4alpha/geocode/address/where+the+warriors+play,+sf?effort=MEDIUM"

Giảm thiểu tác động của độ trễ

Khi sử dụng nỗ lực MEDIUM hoặc HIGH trong ứng dụng, việc gửi yêu cầu một lượt là cách tích hợp đơn giản nhất, nhưng các yêu cầu ở những chế độ này có thể gây ra độ trễ cao hơn, làm chậm các quy trình công việc đồng bộ, dành cho người dùng và nhạy cảm với độ trễ.

Để giảm thiểu tác động của độ trễ này đối với luồng người dùng tương tác (chẳng hạn như thanh toán hoặc đặt chỗ), bạn có thể sử dụng quy trình làm việc nhiều lượt:

  1. Lượt 1 (Tương tác): Gửi yêu cầu đồng bộ bằng effort=LOW (hoặc mặc định) để xác thực địa chỉ ngay lập tức với độ trễ dưới một giây.
  2. Lượt 2 (Nền): Gửi yêu cầu tiếp theo không đồng bộ bằng effort=MEDIUM hoặc effort=HIGH (ví dụ: sau khi thanh toán hoặc trước khi gửi) để phân giải các địa chỉ phức tạp thành toạ độ, lối vào và điểm đi theo chỉ dẫn có độ chính xác cao mà không chặn người dùng.

Hạn mức sử dụng

Trong giai đoạn ra mắt Thử nghiệm (v4alpha), các yêu cầu có effort được đặt thành MEDIUM hoặc HIGH sẽ phải tuân theo giới hạn tốc độ nghiêm ngặt hơn so với các yêu cầu tiêu chuẩn (LOW). Nếu ứng dụng của bạn vượt quá các giới hạn tốc độ này, thì API sẽ trả về lỗi RESOURCE_EXHAUSTED (HTTP 429). Nếu bạn gặp lỗi HTTP 429 hoặc cần hạn mức cao hơn cho trường hợp sử dụng của mình, hãy liên hệ với chúng tôi qua kênh phản hồi.

Phản hồi

Đây là một tính năng thử nghiệm của Geocoding API. Chúng tôi rất mong nhận được ý kiến phản hồi của bạn tại geocoding-feedback-channel@google.com.