Learn how to find an address near a location with the ArcGIS Geocoding service.
Prerequisites
You need an ArcGIS Location Platform or ArcGIS Online account.
Steps
Create a new app
-
Open a terminal and create a new folder for your project.
Use dark colors for code blocks Copy mkdir reverse-geocode cd reverse-geocode -
Initialize a new Node.js project. This creates a
package.jsonfile.Use dark colors for code blocks Copy npm init -
Install the required packages.
Use dark colors for code blocks Copy npm install @esri/arcgis-rest-request @esri/arcgis-rest-geocoding --save -
Create a new JavaScript file named
index.js.Use dark colors for code blocks Copy touch index.js
Get an access token
Create a new API key credential with the correct privileges to get an access token.
- Go to the Create an API key tutorial and create an API key with the following privilege(s):
- Privileges:
- Location services > Geocoding
- Privileges:
- Copy the API key access token to your clipboard when prompted.
Make a request
-
Open your
index.jsfile and import the packages.index.jsUse dark colors for code blocks import { ApiKeyManager } from "@esri/arcgis-rest-request"; import { reverseGeocode } from "@esri/arcgis-rest-geocoding"; -
Paste in your access token.
index.jsUse dark colors for code blocks import { ApiKeyManager } from "@esri/arcgis-rest-request"; import { reverseGeocode } from "@esri/arcgis-rest-geocoding"; const accessToken = "YOUR_ACCESS_TOKEN"; const authentication = ApiKeyManager.fromKey(accessToken); -
Make a request to the ArcGIS Geocoding service and print the results.
index.jsUse dark colors for code blocks import { ApiKeyManager } from "@esri/arcgis-rest-request"; import { reverseGeocode } from "@esri/arcgis-rest-geocoding"; const accessToken = "YOUR_ACCESS_TOKEN"; const authentication = ApiKeyManager.fromKey(accessToken); reverseGeocode({ location: [-79.3871, 43.6426], // [lon, lat] authentication }).then((response) => { console.log(JSON.stringify(response, null, 2)); }); -
Save the file, then run it from the terminal.
Use dark colors for code blocks Copy node index.js
You should now see the results printed in your console.
{
"address": {
"Match_addr": "CN Tower",
"LongLabel": "CN Tower, 301 Front St W, Toronto, Ontario, M5V, CAN",
"ShortLabel": "CN Tower",
"Addr_type": "POI",
"Type": "Tourist Attraction",
"PlaceName": "CN Tower",
"AddNum": "301",
"Address": "301 Front St W",
"Block": "",
"Sector": "",
"Neighborhood": "Waterfront Communities-the Island",
"District": "Toronto",
"City": "Toronto",
What's next?
Learn how to use additional location services in these tutorials: