Skip to content

Latest commit

 

History

History
195 lines (151 loc) · 8.54 KB

README.md

File metadata and controls

195 lines (151 loc) · 8.54 KB

geocoder-arcgis-geojson

Isomorphic geocoding for reuse across our JavaScript libraries. This library is built to match the API of geocoder-arcgis in order to facilitate a quick conversion of our applications to use ESRI's geocoder. Read the ESRI docs here. Coordinates must be anything that can be parsed by lonlng.

Examples

All API methods (except autocomplete) accept the options clientId, clientSecret and forStorage. When using forStorage, the clientId and clientSecret options are required.

Autocomplete

import {autocomplete} from 'geocoder-arcgis-geojson'

autocomplete({
  boundary: {
    rect: {
      minLon: minLon,
      minLat: minLat,
      maxLon: maxLon,
      maxLat: maxLat
    }
  },
  focusPoint: {lat: 39.7691, lon: -86.1570},
  text: '1301 U Str'
}).then((result) => {
  console.log(result)
}).catch((err) => {
  console.error(err)
})

Bulk

import {autocomplete} from 'geocoder-arcgis-geojson'

bulk({
  addresses: [
    '1301 U Str',
    '123 Main St'
  ],
  boundary: {
    rect: {
      minLon: minLon,
      minLat: minLat,
      maxLon: maxLon,
      maxLat: maxLat
    }
  },
  clientId: 'secret',
  clientSecret: 'secret',
  focusPoint: {lat: 39.7691, lon: -86.1570}
}).then((result) => {
  console.log(result)
}).catch((err) => {
  console.error(err)
})

Reverse

import {reverse} from 'geocoder-arcgis-geojson'

reverse({
  point: {
    lat: 39.7691,
    lng: -86.1570
  }
}).then((result) => {
  console.log(result)
}).catch((err) => {
  console.error(err)
})

search({apiKey, text, ...options})

import {search} from 'geocoder-arcgis-geojson'

search({
  text: '1301 U Street NW, Washington, DC',
  focusPoint: {lat: 39.7691, lon: -86.1570},
  boundary: {
    rect: {
      minLon: minLon,
      minLat: minLat,
      maxLon: maxLon,
      maxLat: maxLat
    }
  }
}).then((geojson) => {
  console.log(geojson)
}).catch((err) => {
  console.error(err)
})

API

Table of Contents

autocomplete

index.js:94-128

Search for and address using ESRI's suggest service. This service does not return geojson, instead it returns the list of address suggestions and corresponding magicKeys

Parameters

Returns Promise A Promise that'll get resolved with the suggest result

bulk

index.js:144-195

Bulk geocode a list of addresses using ESRI's geocodeAddresses service.

Parameters

  • $0 Object
    • $0.addresses Array Can be array of strings or objects. Strings can be addresses or coordinates in the form lon,lat
    • $0.clientId string
    • $0.clientSecret string
    • $0.boundary Object?
    • $0.focusPoint Object?
    • $0.url string?

Returns Promise A Promise that'll get resolved with the bulk geocode result

reverse

index.js:210-251

Reverse geocode using ESRI's reverseGeocode service.

Parameters

  • $0 Object
    • $0.clientId string?
    • $0.clientSecret string?
    • $0.forStorage boolean Specifies whether result is inteded to be stored (optional, default false)
    • $0.point {lat: number, lon: number} Point to reverse geocode
    • $0.url string? optional URL to override ESRI reverseGeocode endpoint

Returns Promise A Promise that'll get resolved with reverse geocode result

search

index.js:270-324

Search for an address using ESRI's findAddressCandidates service.

Parameters

  • $0 Object
    • $0.clientId string?
    • $0.clientSecret string?
    • $0.boundary Object?
    • $0.focusPoint Object?
    • $0.forStorage boolean Specifies whether result is inteded to be stored (optional, default false)
    • $0.magicKey string? magicKey to use in searching as obtained from suggest results
    • $0.size number (optional, default 10)
    • $0.text string The address text to query for
    • $0.url string? optional URL to override ESRI reverseGeocode endpoint

Returns Promise A Promise that'll get resolved with search result