Giúp người dùng tìm kiếm địa điểm mà không cần nhập đầy đủ từ khóa.
Endpoint
https://maps.track-asia.com/api/v2/place/autocomplete/{outputFormat}
outputFormat
outputFormat | Mô tả |
---|---|
json (khuyến nghị) | định dạng JSON |
xml | định dạng XML |
Tham số
Tham số | Giá trị | Bắt buộc | Mô tả | Ví dụ |
---|---|---|---|---|
input | Chuỗi | ✔ | Chuỗi đầu vào mà bạn muốn tự động gợi ý. Chuỗi này có thể là một phần của địa chỉ, tên địa điểm, hoặc bất kỳ chuỗi nào khác mà bạn muốn tìm kết quả phù hợp. | Toa nha BW |
key | Chuỗi | ✔ | Khóa API (sử dụng key của bạn, public_key bị giới hạn, chỉ dùng test) | public_key |
location | {vĩ độ},{kinh độ} | Các giá trị vĩ độ và kinh độ chỉ định vị trí mà bạn muốn có được địa chỉ gần nhất, dễ đọc đối với con người | 10.7952219,106.7217912 | |
new_admin | true , false (mặc định) | Trả về địa chỉ theo địa giới hành chính mới | true | |
include_old_admin | Boolean | Trả song song cả địa chỉ cũ và mới (chỉ khả dụng khi new_admin=true ) | true | |
size | Số nguyên | Số lượng kết quả tối đa cần trả về | 5 |
Mã ví dụ
Ví dụ này minh họa cách sử dụng định dạng JSON trong phản hồi.
https://maps.track-asia.com/api/v2/place/autocomplete/json?input=Landmark 81&size=2&key=public_key&new_admin=true&include_old_admin=true
Ví dụ này minh họa cách sử dụng định dạng XML trong phản hồi
https://maps.track-asia.com/api/v2/place/autocomplete/xml?input=Landmark 81&size=2&key=public_key&new_admin=true
# JSON
curl -G "https://maps.track-asia.com/api/v2/place/autocomplete/json" \
--data-urlencode "input=Toa nha BW" \
--data-urlencode "location=10.7952219,106.7217912" \
--data-urlencode "size=5" \
--data-urlencode "key=public_key" \
--data-urlencode "new_admin=true" \
--data-urlencode "include_old_admin=true"
# XML
curl -G "https://maps.track-asia.com/api/v2/place/autocomplete/xml" \
--data-urlencode "input=Toa nha BW" \
--data-urlencode "location=10.7952219,106.7217912" \
--data-urlencode "size=5" \
--data-urlencode "key=public_key" \
--data-urlencode "new_admin=true"
// JSON
const response = await fetch("https://maps.track-asia.com/api/v2/place/autocomplete/json?input=Landmark 81&size=2&key=public_key&new_admin=true&include_old_admin=true")
const data = await response.json()
console.log(data)
// XML
const response = await fetch("https://maps.track-asia.com/api/v2/place/autocomplete/xml?input=Landmark 81&size=2&key=public_key&new_admin=true")
const data = await response.text()
console.log(data)
Phản hồi
JSON Phản hồi
Phản hồi là một đối tượng JSON với cấu trúc như sau:
status
: Chuỗi trạng thái (ví dụ: "OK").-
predictions
: Mảng các đối tượng gợi ý. Mỗi đối tượng gồm:official_id
: Mã hành chính chính thức từ Danh mục hành chính Quốc gia.Trường này chỉ trả về khi kết quả là đơn vị hành chính (phường, tỉnh/thành phố).place_id
: Định danh duy nhất cho địa điểm.reference
: Tham chiếu cho địa điểm (có thể trùng vớiplace_id
).name
: Tên địa điểm.description
: Mô tả đầy đủ về địa điểm.formatted_address
: Địa chỉ đầy đủ đã được chuẩn hóa.icon
: Mã biểu tượng đại diện loại địa điểm.matched_substrings
: Mảng các đối tượng thể hiện vị trí khớp với chuỗi nhập vào.structured_formatting
: Đối tượng gồmmain_text
,main_text_matched_substrings
, vàsecondary_text
để hiển thị.terms
: Mảng các đối tượng vớioffset
vàvalue
cho từng thành phần kết quả.types
: Mảng các phân loại của địa điểm.old_description
: (Có thể có) Mô tả địa chỉ cũ nếu có.old_formatted_address
: (Có thể có) Địa chỉ cũ nếu có.
XML Phản hồi
Phản hồi XML có cấu trúc tương tự, các trường sẽ là các thẻ XML tương ứng với các trường JSON ở trên. Một số khác biệt:
- Kết quả XML được bọc trong phần tử gốc
<AutocompletionResponse>
. - Các mảng trong JSON (như
predictions
,terms
) sẽ là các phần tử lặp lại trong XML (như<prediction>
,<term>
). - Các trường rỗng được thể hiện bằng mảng rỗng trong JSON, nhưng sẽ không có phần tử nào trong XML.
Lưu ý quan trọng
- Các trường trong phản hồi tuân theo Google Maps Places API standard - Place Autocomplete (Legacy).
- Phản hồi không bao gồm toàn bộ thông tin chi tiết của địa điểm. Để lấy thông tin đầy đủ nhất, hãy sử dụng API Place Detail.
Status
Status | Mô tả |
---|---|
OK | cho biết API request đã thành công. |
ZERO_RESULTS | chỉ ra rằng tìm kiếm đã thành công nhưng không trả lại kết quả. Điều này có thể xảy ra nếu tìm kiếm được thông qua một giới hạn ở một vị trí xa. |
Error messages
Khi geocoder trả về mã trạng thái khác OK
, có thể có trường error_message bổ sung trong đối tượng phản hồi Geocoding. Trường này chứa thông tin chi tiết hơn về lý do đằng sau mã trạng thái đã cho.
Các bước tiếp theo
- Để hiểu rõ sự khác biệt và chọn API phù hợp, bạn có thể xem Hướng dẫn chọn dịch vụ API Search và Autocomplete của TrackAsia
- Thử API playground