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à mã hoá địa lý ngược một cách linh động từ dữ liệu đầ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. Việc sử dụng tính năng Tìm kiếm bằng văn bản (Mới) để yêu cầu mã địa điểm sẽ không tính phí. 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 điền đị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ụ Thông tin chi tiết về địa điểm trong SDK Địa điểm dành cho Android trả về dữ liệu cho một khu vực có thể khá 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.
- Lấy khung nhìn để phóng to một 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 ranh giới:
- Sử dụng tính năng Mã hoá địa lý để lấy khung nhìn cho một khu vực.
- Áp dụng tính năng lọc thành phần cho lệnh gọi Địa chỉ được mã hoá để lấy 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 tính năng mã hoá địa lý 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ả 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