A bounding box search finds places within an extent using the places service. An extent typically represents the visible area of a map. To perform a bounding box search, you use the places package from ArcGIS REST JS.
Prerequisites
This tutorial requires an ArcGIS Location Platform or ArcGIS Online account.
Steps
Create a new pen
- If you are using the CDN libraries, to get started.
Get an access token
You need an access token with the correct privileges to access the resources used in this tutorial.
-
Go to the Create an API key tutorial and create an API key with the following privilege(s):
- Privileges:
- Location services > Places
- Privileges:
-
Copy the API key access token to your clipboard when prompted.
-
In CodePen, update the
access
variable to use your access token.Token Use dark colors for code blocks Copy const accessToken = "YOUR_ACCESS_TOKEN"; const authentication = arcgisRest.ApiKeyManager.fromKey(accessToken);
To learn about the other types of authentication available, go to Types of authentication.
Make the request
Copy and paste the code below, following the steps to make a request to the Places service.
-
Reference the ArcGIS REST JS libraries either through CDN, ES Modules, or Node JS.
-
- Set the
access
with an API key access token from API key credentials.Token
- Set the
-
Define the parameters needed for the request.
-
Call the Places service and handle the results.
<!-- require ArcGIS REST JS libraries from https://unpkg.com -->
<script src="https://unpkg.com/@esri/arcgis-rest-request@4/dist/bundled/request.umd.js"></script>
<script src="https://unpkg.com/@esri/arcgis-rest-places@1/dist/bundled/places.umd.js"></script>
<script>
/* when including ArcGIS REST JS all exports are available
from the same arcgisRest global */
const accessToken = "YOUR_ACCESS_TOKEN";
const authentication = arcgisRest.ApiKeyManager.fromKey(accessToken);
arcgisRest.findPlacesWithinExtent({
xmin: -115.2, // Coordinates around the Las Vegas Strip
ymin: 36.09,
xmax: -115.1,
ymax: 36.161,
searchText: "Night Clubs", // Search for "Night Clubs"
authentication,
f:"geojson"
})
.then((response) => {
console.log("Search results:", response.results);
document.getElementById("result").textContent = JSON.stringify(response.results, null, 2);
});
</script>
The service will return a list of up to 20 nearby places that match the search criteria.
The places service returns a maximum of 20 search results at a time. To find more places that match your query, you can paginate through place results by making additional requests with a formatted URL. To learn more, go to Paginate search results.
Result
Below is the response from the service:
[
{
"place": {
"placeId": "68cf4e32bd935d54748de24a95629603",
"location": {
"x": -115.186432,
"y": 36.118848
},
"categories": [
{
"categoryId": "10032",
"label": "Night Club"
},
{
"categoryId": "13009",
"label": "Cocktail Bar"
}
],
"name": "Crown Night Club",
"parentPlaceId": null
}
},
{
"place": {
"placeId": "636406dc6564e4ad662a2fc86ac757ca",
"location": {
"x": -115.176537,
"y": 36.092016
},
"categories": [
What's next?
Learn how to use additional ArcGIS location services in these tutorials:
Find nearby places and details
Find points of interest near a location and get detailed information about them
Find place addresses
Find coffee shops, gas stations, restaurants and other nearby places by accessing the Geocoding service.
Find a route and directions
Find a route and directions for an origin and destination by accessing the route service.