Find places or addresses near a longitude/latitude pair
Endpoint
https://maps.track-asia.com/api/v1/reverse
Parameters
| Parameter | Values | Require | Description | Example |
|---|---|---|---|---|
point.lat | {latitude} | ✔ | Latitude to focus search based on geographic area | 10.734685744457877 |
point.lon | {longitude} | ✔ | Longitude to focus search based a geographical area | 106.70378716390763 |
key | String | ✔ | API key (use your own key; public_key is limited and for testing only) | public_key |
lang | Target language | The target language code in the BCP47 standard. Only the language subtag information is used to set the target language e.g. en | vi | |
boundary.circle.radius | Floating point number | Distance radius (kilometer) | 0.05 | |
categories | String | Filter results by category (e.g. street_address, restaurant, coffee_shop). | street_address | |
new_admin | true , false (default) | Return address according to new administrative boundaries | true | |
include_old_admin | Boolean | Return both old and new addresses in parallel (only available when new_admin=true) | true | |
size | Number | The number of results returned | 5 |
Example code
Example 1: Reverse geocoding for a specific address (recommended)
https://maps.track-asia.com/api/v1/reverse?new_admin=true&categories=street_address&size=5&boundary.circle.radius=0.05&point.lat=10.776947354530334&point.lon=106.69956241255345&key=public_key
Example 2: Return both old and new addresses (without category filter)
https://maps.track-asia.com/api/v1/reverse?new_admin=true&include_old_admin=true&categories=street_address&size=5&boundary.circle.radius=0.05&point.lat=10.776947354530334&point.lon=106.69956241255345&key=public_key
# Example 1: Reverse geocoding for a specific address
curl -G "https://maps.track-asia.com/api/v1/reverse" \
--data-urlencode "new_admin=true" \
--data-urlencode "categories=street_address" \
--data-urlencode "lang=vi" \
--data-urlencode "point.lon=106.70378716390763" \
--data-urlencode "point.lat=10.734685744457877" \
--data-urlencode "size=5" \
--data-urlencode "boundary.circle.radius=0.05" \
--data-urlencode "key=public_key"
# Example 2: Return both old and new addresses
curl -G "https://maps.track-asia.com/api/v1/reverse" \
--data-urlencode "new_admin=true" \
--data-urlencode "include_old_admin=true" \
--data-urlencode "lang=vi" \
--data-urlencode "point.lon=106.70378716390763" \
--data-urlencode "point.lat=10.734685744457877" \
--data-urlencode "size=5" \
--data-urlencode "boundary.circle.radius=0.05" \
--data-urlencode "key=public_key"
// Example 1: Reverse geocoding for a specific address
const response1 = await fetch("https://maps.track-asia.com/api/v1/reverse?new_admin=true&categories=street_address&size=5&boundary.circle.radius=0.05&point.lat=10.776947354530334&point.lon=106.69956241255345&key=public_key")
const data1 = await response1.json()
console.log(data1)
// Example 2:Return both old and new addresses (without category filter)
const response2 = await fetch("https://maps.track-asia.com/api/v1/reverse?new_admin=true&include_old_admin=true&categories=street_address&size=5&boundary.circle.radius=0.05&point.lat=10.776947354530334&point.lon=106.69956241255345&key=public_key")
const data2 = await response2.json()
console.log(data2)
Response
JSON Response
The response is a JSON object with the following structure:
type: "FeatureCollection". Indicates the type of GeoJSON object.-
geocoding: Metadata object of the response:timestamp: Response timestamp (Unix timestamp, milliseconds).
-
features: An array ofFeatureobjects, each representing a found address or place. EachFeaturehas:type: "Feature".-
geometry: The geometry of the feature:type: "Point".coordinates: An array of[longitude, latitude]for the point.
-
properties: An object with details about the place:id: Unique identifier for the feature.gid: Global identifier for the feature.layer: The layer type (e.g., "address", "venue").name: Name of the place or address.housenumber: House number (if available).street: Street name (if available).confidence: Confidence score for the result.distance: Distance in kilometers from the query point.country,country_code,country_a,country_id: Country info.region,region_a,region_id: Region info.county,county_id: County info.locality,locality_id: Locality info.label: Formatted label for the address.category: Category list of the result (e.g.["street_address", "coffee_shop",...]).
The following fields only appear when
new_admin=trueandinclude_old_admin=true:old_region: Region name according to the old administrative boundaries (before merging/adjustment).old_region_a: Abbreviation code of the old region.old_region_id: ID of the old region.old_county: County name according to old boundaries (if applicable).old_county_id: ID of the old county (if applicable).old_locality: Locality name according to old boundaries.old_locality_id: ID of the old locality.old_label: Full formatted address label according to old administrative boundaries (typically includes the old county name).
-
bbox: An array[minLon, minLat, maxLon, maxLat]representing the bounding box of the results.
Next steps
- Try API playground