Mã hoá địa lý là quá trình chuyển đổi địa chỉ (chẳng hạn như địa chỉ đường phố) thành toạ độ địa lý (vĩ độ và kinh độ) mà bạn có thể dùng để đặt điểm đánh dấu trên bản đồ hoặc định vị bản đồ. Trọng tâm của tài liệu này là làm rõ những điều cần cân nhắc khi mã hoá địa lý địa chỉ. Tài liệu này mô tả thời điểm nên sử dụng API Địa chỉ (Geocoding API) và thời điểm nên sử dụng dịch vụ Tự động hoàn thành địa điểm (Place Autocomplete) của API Địa điểm.
Nhìn chung, hãy sử dụng Geocoding API khi mã hoá địa lý địa chỉ đầy đủ (ví dụ: "48 Pirrama Rd, Pyrmont, NSW, Australia"). Sử dụng dịch vụ Tự động hoàn thành địa điểm của API Địa điểm khi mã hoá địa lý các địa chỉ không rõ ràng (chưa hoàn chỉnh) hoặc cho các ứng dụng nhạy cảm với độ trễ, chẳng hạn như khi phản hồi dữ liệu đầu vào của người dùng.
Các trường hợp sử dụng và đề xuất về API
Các trường hợp sử dụng và đề xuất về API | |
---|---|
Phản hồi, theo thời gian thực, đối với dữ liệu đầu vào của người dùng (bao gồm cả địa chỉ không rõ ràng, chưa hoàn chỉnh, định dạng không tốt hoặc bị sai chính tả do người dùng nhập) | Sử dụng dịch vụ Tự động hoàn thành địa điểm của API Địa điểm để lấy mã địa điểm, sau đó sử dụng API Địa chỉ để mã hoá địa lý mã địa điểm thành toạ độ. |
Hệ thống tự động xử lý địa chỉ bưu chính đầy đủ, rõ ràng (ví dụ: "48 Pirrama Rd, Pyrmont, NSW, Australia") | Sử dụng dịch vụ web Geocoding API. |
Hệ thống tự động xử lý các cụm từ tìm kiếm không rõ ràng (ví dụ: địa chỉ không đầy đủ, định dạng không chuẩn hoặc sai chính tả) | Bạn nên sử dụng dịch vụ web Geocoding API cho các hệ thống tự động. Tuy nhiên, các hệ thống tự động có tỷ lệ truy vấn không rõ ràng, không đầy đủ hoặc sai chính tả cao bắt nguồn từ dữ liệu đầu vào của người dùng có thể hưởng lợi từ việc thêm tiện ích Tự động hoàn thành địa điểm tương tác để cho phép người dùng chọn một kết quả, từ đó tránh sai chính tả địa chỉ. |
Vấn đề về độ trễ khi sử dụng API Chỉ đường hoặc API Ma trận khoảng cách, với điểm xuất phát, điểm đến hoặc điểm trung gian được chỉ định dưới dạng chuỗi địa chỉ | Giảm độ trễ trong quá trình mã hoá địa lý bằng cách sử dụng dịch vụ Tự động hoàn thành địa điểm của API Địa điểm để lấy mã địa điểm, sau đó truyền mã địa điểm đó đến API Chỉ đường hoặc API Distance Matrix. |
Phản hồi hoạt động đầu vào của người dùng
Các ứng dụng phản hồi theo thời gian thực đối với dữ liệu đầu vào của người dùng có hai yếu tố chính cần cân nhắc ảnh hưởng đến lựa chọn API:
- Thông tin đầu vào của người dùng thường liên quan đến việc nhập địa chỉ một cách tuần tự (chẳng hạn như "123 Main Street"), vì vậy, việc có thể mã hoá địa lý các địa chỉ chưa hoàn chỉnh, không rõ ràng sẽ rất hữu ích vì giúp người dùng nhận được kết quả nhanh hơn.
- Các ứng dụng phản hồi hoạt động đầu vào của người dùng rất nhạy cảm với độ trễ.
Hai yếu tố cần cân nhắc này khiến Dịch vụ tự động điền địa điểm trong API Địa điểm trở nên lý tưởng cho trường hợp sử dụng phản hồi dữ liệu đầu vào của người dùng. Tính năng Tự động hoàn thành địa điểm được thiết kế để trả về nhiều tuỳ chọn có thể có và cho phép người dùng chọn trong số các tuỳ chọn đó. Bạn có thể hạn chế API Địa điểm chỉ tìm kiếm mã địa lý hoặc địa chỉ mà loại trừ doanh nghiệp. Hơn nữa, hàm tra cứu tự động hoàn thành có thể bị thiên vị để trả về kết quả dành riêng cho một vị trí. API Địa điểm trả về một mã địa điểm có thể được truyền dưới dạng một vị trí được phân biệt rõ ràng đến dịch vụ web API Địa lý. Sau đó, dịch vụ này sẽ trả về thông tin chi tiết đầy đủ về địa chỉ và mã địa lý của địa chỉ đó thành latlng. Mã địa điểm cũng có thể được truyền đến các API khác, chẳng hạn như API Chỉ đường và API Distance Matrix (xem bên dưới).
Việc mã hoá địa lý địa chỉ trong API Mã hoá địa lý có độ trễ cao hơn nhiều và cũng tạo ra kết quả kém chính xác hơn đối với các truy vấn không đầy đủ hoặc không rõ ràng, vì vậy, bạn không nên sử dụng API này cho các ứng dụng phải phản hồi theo thời gian thực đối với dữ liệu đầu vào của người dùng.
Xem thêm thông tin về dịch vụ Tự động hoàn thành địa điểm cho Android, iOS, JavaScript và API Địa điểm.
Hệ thống tự động
Hệ thống tự động xử lý địa chỉ bưu chính đầy đủ, rõ ràng: Dịch vụ web API Địa chỉ mã hoá địa lý xử lý tốt nhất các truy vấn rõ ràng như chuỗi địa chỉ bưu chính đầy đủ (ví dụ: "48 Pirrama Rd, Pyrmont, NSW, Australia"). Phần phụ trợ mã hoá địa lý địa chỉ cung cấp phạm vi địa chỉ rộng hơn trên toàn cầu, đồng thời được tối ưu hoá để mang lại kết quả chất lượng cao với những loại truy vấn hoàn chỉnh, rõ ràng này.
Hệ thống tự động xử lý các cụm từ tìm kiếm không rõ ràng: Các cụm từ tìm kiếm không rõ ràng là những cụm từ tìm kiếm có định dạng địa chỉ không chuẩn, địa chỉ chưa hoàn chỉnh hoặc lỗi chính tả. Đối với các hệ thống tự động, bạn nên sử dụng dịch vụ web API Mã hoá địa lý. Tuy nhiên, API Địa chỉ được mã hoá địa lý không được thiết kế để xử lý các cụm từ tìm kiếm không rõ ràng và có thể tạo ra kết quả kém chính xác hơn hoặc không có kết quả nào khi phản hồi các cụm từ tìm kiếm không rõ ràng. Nếu hệ thống tự động của bạn xử lý một lượng lớn truy vấn không rõ ràng bắt nguồn từ dữ liệu đầu vào của người dùng, thì bạn có thể hưởng lợi từ việc thêm một thành phần tương tác vào ứng dụng bằng cách sử dụng dịch vụ Tự động hoàn thành địa điểm trong API Địa điểm, vì dịch vụ này được thiết kế để trả về nhiều lựa chọn có thể có và cho phép người dùng chọn trong số các lựa chọn đó. API Địa điểm trả về một mã địa điểm có thể được truyền dưới dạng vị trí được phân biệt rõ ràng đến dịch vụ web API Mã hoá địa lý. Sau đó, dịch vụ này sẽ trả về thông tin chi tiết đầy đủ về địa chỉ và mã hoá địa lý địa chỉ đó thành latlng. Xem thêm thông tin về dịch vụ Tự động hoàn thành địa điểm cho Android, iOS, JavaScript và API Địa điểm.
Giảm độ trễ cho API chỉ đường và API Distance Matrix
Khi điểm xuất phát, điểm đến hoặc điểm trung gian được chỉ định dưới dạng chuỗi địa chỉ, API chỉ đường và API ma trận khoảng cách sẽ sử dụng cùng một phần phụ trợ với API Mã hoá địa lý để mã hoá địa lý các địa chỉ này trước khi tính toán đường đi. Điều này làm tăng đáng kể độ trễ so với việc chỉ định cùng một vị trí với latlngs hoặc mã địa điểm.
Nếu ứng dụng của bạn sử dụng API Chỉ đường hoặc API Distance Matrix trong một tình huống nhạy cảm về độ trễ, chẳng hạn như phản hồi dữ liệu đầu vào của người dùng, và điểm xuất phát, điểm đến hoặc điểm trung gian ban đầu được chỉ định dưới dạng chuỗi địa chỉ, thì bạn nên giảm thiểu độ trễ bằng cách sử dụng dịch vụ Tự động hoàn thành địa điểm của API Địa điểm để chuyển đổi chuỗi địa chỉ thành mã địa điểm, sau đó truyền mã địa điểm đó đến API Chỉ đường hoặc API Distance Matrix. Xem thêm thông tin về dịch vụ Tự động hoàn thành địa điểm cho Android, iOS, JavaScript và API Địa điểm. Xem thêm ví dụ về JavaScript về tính năng tự động hoàn thành địa điểm và chỉ đường.
Kết luận
Tuỳ thuộc vào trường hợp sử dụng, khi mã hoá địa lý địa chỉ, việc sử dụng API Mã hoá địa lý hoặc sử dụng dịch vụ Tự động hoàn thành địa điểm kết hợp với API Mã hoá địa lý cho phép bạn tạo các ứng dụng cung cấp cho người dùng kết quả mã hoá địa lý chính xác cũng như giảm độ trễ.
Quản lý lỗi và thử lại
Nếu bạn nhận được phản hồi UNKNOWN_ERROR
, thì đó là do lỗi tạm thời gây ra và tốt nhất bạn nên thử lại sau một khoảng thời gian trễ ngắn. Bạn nên sử dụng
thư viện ứng dụng của dịch vụ web Nền tảng Google Maps, trong đó có logic thử lại và hỗ trợ xác thực gói Google Maps Platform Premium.
Ứng dụng Java,
Ứng dụng Python,
Ứng dụng Go và
Ứng dụng Node.js
cho Dịch vụ bản đồ của Google là các thư viện ứng dụng do cộng đồng hỗ trợ, có thể tải xuống
và đóng góp trên GitHub. Tại đây, bạn cũng sẽ tìm thấy hướng dẫn cài đặt và
mã mẫu.
Nếu nhận được mã trạng thái OVER_QUERY_LIMIT
dưới dạng phản hồi, tức là bạn đã vượt quá giới hạn sử dụng cho API. Bạn nên thử các
chiến lược tối ưu hoá mức sử dụng sau.