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
- Go to the Create an API key tutorial and create an API key with the following privilege(s)
Privileges are a set of permissions assigned to ArcGIS accounts, developer credentials, and applications that grant access to secure resources and functionality in ArcGIS. :
- 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
A geocoding service is a service that can search for addresses, place addresses, businesses, reverse geocode coordinates to addresses, provide suggestions for places, and perform bulk geocoding. It is hosted by Esri as the ArcGIS Geocoding service and can also be hosted in ArcGIS Enterprise. 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: