Bạn có thể sử dụng dịch vụ Địa điểm và API Mã hoá địa lý với SDK Maps cho Android để tìm kiếm các khu vực và nhận thêm thông tin về các địa điểm. Dịch vụ Places và API Mã hoá địa lý là những giải pháp thay thế mạnh mẽ và ổn định để lấy mã địa điểm. Nếu đang sử dụng mã địa điểm, bạn có thể sử dụng lại các mã đó bằng cách tạo kiểu dựa trên dữ liệu cho các ranh giới.
Thêm dịch vụ Địa điểm và tính năng Mã hoá địa lý vào SDK Maps cho ứng dụng Android theo các cách sau:
- SDK Địa điểm dành cho Android là một thư viện Android chứa các phương thức để trả về thông tin về các địa điểm.
- Places API trả về thông tin về các địa điểm bằng cách sử dụng các yêu cầu HTTP.
- Lớp bộ mã hoá địa lý có thể mã hoá địa lý và đảo ngược mã hoá một cách linh động từ hoạt động đầu vào của người dùng.
- API mã hoá địa lý cho phép bạn mã hoá địa lý các địa chỉ tĩnh, đã biết.
Sử dụng dịch vụ Địa điểm
Sử dụng tính năng Tìm kiếm bằng văn bản (Mới) để tìm mã địa điểm
Bạn có thể sử dụng API REST Tìm kiếm văn bản (Mới) trong API Địa điểm để lấy mã địa điểm bao gồm dữ liệu khu vực bằng cách chỉ định places.id
trong mặt nạ trường. Bạn chỉ không phải trả phí nếu sử dụng tính năng Tìm kiếm văn bản (Mới) để yêu cầu mã địa điểm. Tìm hiểu thêm.
Ví dụ: để lấy mã địa điểm cho Trinidad, CA, bạn có thể thực hiện lệnh gọi API sau:
curl -X POST -d '{ "textQuery" : "Trinidad, CA" }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \ -H 'X-Goog-FieldMask: places.id' \ 'https://places.googleapis.com/v1/places:searchText'
Sử dụng tính năng Tự động hoàn thành của địa điểm để tìm khu vực
Dịch vụ Tự động điền địa điểm trong SDK Địa điểm dành cho Android cung cấp một cách thuận tiện để cho phép người dùng tìm kiếm theo khu vực. Để định cấu hình dịch vụ Tự động điền địa điểm chỉ trả về các khu vực, hãy sử dụng AutocompleteSupportFragment.setTypesFilter(List)
để đặt bộ lọc loại thành PlaceTypes.REGIONS
.
Nhận thông tin chi tiết về địa điểm cho một khu vực
Dịch vụ Chi tiết địa điểm trong SDK địa điểm dành cho Android sẽ trả về dữ liệu cho một khu vực có thể rất hữu ích. Ví dụ như bạn có thể:
- Tìm mã địa điểm ranh giới dựa trên tên địa điểm.
- Tải khung nhìn để thu phóng ranh giới.
- Lấy loại đối tượng cho ranh giới (ví dụ:
locality
). - Nhận địa chỉ được định dạng, địa chỉ này sẽ chuyển đến "Tên địa điểm, Tiểu bang, Quốc gia" trong khu vực Hoa Kỳ (ví dụ: "Ottumwa, IA, USA").
- Nhận dữ liệu hữu ích khác như ảnh.
Sử dụng API Địa chỉ
Geocoding API (API Mã hoá địa lý) cho phép bạn chuyển đổi địa chỉ thành toạ độ vĩ độ và kinh độ cũng như Mã địa điểm, hoặc chuyển đổi toạ độ vĩ độ và kinh độ hoặc Mã địa điểm thành địa chỉ. Các cách sử dụng sau đây kết hợp tốt với kiểu dáng dựa trên dữ liệu cho các ranh giới:
- Sử dụng Mã hóa địa lý để nhận chế độ xem cho một khu vực.
- Áp dụng tính năng lọc thành phần cho cuộc gọi Mã hoá địa lý của bạn để nhận mã địa điểm cho các khu vực hành chính 1-4, địa phương hoặc mã bưu chính.
- Sử dụng tính năng dịch địa lý ngược để tìm mã địa điểm theo toạ độ vĩ độ và kinh độ, hoặc thậm chí trả về mã địa điểm cho tất cả các thành phần ở một vị trí cụ thể.
Ví dụ sau đây sử dụng một địa chỉ (đã thoát URL) để gửi yêu cầu đến API Mã hoá địa lý:
https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%20Pkwy%20Mountain%20View%20CA&key=YOUR_API_KEY
Bạn có thể sử dụng mã hoá địa lý đảo ngược để tìm mã địa điểm. Hàm dịch vụ Địa chỉ của ví dụ sau trả về mã địa điểm cho tất cả các thành phần địa chỉ tại toạ độ vĩ độ và kinh độ đã chỉ định:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&key=YOUR_API_KEY
Sử dụng tính năng dịch địa lý ngược với bộ lọc thành phần để lấy thành phần địa chỉ cho một hoặc nhiều loại sau tại vị trí đã chỉ định:
administrativeArea
country
locality
postalCode
Hàm ví dụ tiếp theo cho thấy cách sử dụng dịch vụ Địa chỉ được mã hoá, thêm các quy tắc hạn chế về thành phần bằng tính năng địa chỉ được mã hoá ngược để lấy tất cả các thành phần địa chỉ tại vị trí đã chỉ định chỉ cho loại locality
:
https://maps.googleapis.com/maps/api/geocode/json?latlng=41.864182,-87.676930&result_type=locality&key=YOUR_API_KEY