Tìm kiếm địa chỉ sử Dụng google maps API
Như bài thứ nhất, thì tôi đã giới thiệu về cách nhúng bản đồ google maps vào ứng dụng iOS. Bài này tôi sẽ giới thiệu cách sử dụng Google Maps API, cụ thể hơn tôi sẽ làm 1 ví dụ về tìm kiếm địa điểm theo dữ liệu được nhập vào. 1. Link tham khảo api https://developers.google.com/places/web-service ...
Như bài thứ nhất, thì tôi đã giới thiệu về cách nhúng bản đồ google maps vào ứng dụng iOS. Bài này tôi sẽ giới thiệu cách sử dụng Google Maps API, cụ thể hơn tôi sẽ làm 1 ví dụ về tìm kiếm địa điểm theo dữ liệu được nhập vào.
1. Link tham khảo api https://developers.google.com/places/web-service/search
Ở ví dụ này tối sẽ dùng Google Places API Text Search, đó là 1 web service trả về thông tin danh sách các địa điểm, dữ liệu dạng string, ví dụ bạn có thể nhập vào dòng text "hà nội" bạn sẽ thấy được dữ liệu 1 danh sách các địa điểm phù hợp với "hà nội" và bất kỳ địa điểm nào có liên quan. Đây là api tổng quát "https://maps.googleapis.com/maps/api/place/textsearch/output?parameters" Trong đó:
-
ouput có thể là json hoặc xml
-
parameter bắt buộc:
query: dữ liệu đầu vào để tìm kiếm.
key: API key của bạn (bài trước mình có hướng dẫn cách tạo key)
-
parameter không bắt buộc
location: hoành độ, vĩ độ, đi cùng với bán kính:
radius: bán kính tìm kiếm (mét), tối đa là 50000 mét.
language: ngôn ngữ
minprice/maxprice:
opennow:
types:
pagetoken:
zagatselected:
Dựa vào đó mình có thể tạo ra 1 api link sau: "https://maps.googleapis.com/maps/api/place/textsearch/json?key=AIzaSyC9WPFitmzQrjeZfcT3dpGsWJmxbLJj6ew&query=" Dữ liệu query sẽ được truyền vào.
2. Bạn cần phải Enabel Google Places API Web Service: https://console.developers.google.com/apis/api/places_backend/overview?project=fluted-union-111004
Khi đó bạn có thể click vào link "https://maps.googleapis.com/maps/api/place/textsearch/json?query=hanoi&key=AIzaSyC9WPFitmzQrjeZfcT3dpGsWJmxbLJj6ew" và thấy có dữ liệu trả về. và nhìn thấy kết quả như sau
**3. Tạo project **
- Kéo vào 1 UITextFeild, đây sẽ là ô nhập tên địa điểm cần tìm kiếm.
- Sử dụng AFNetworking để request dữ liệu, tôi có viết 1 class để request như sau:
- Đây là source code tham khảo https://github.com/phanthanhhai/google_maps