Skip to content

Isomorphic Mapzen search for reuse across our JavaScript libraries.

License

Notifications You must be signed in to change notification settings

conveyal/isomorphic-mapzen-search

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

isomorphic-mapzen-search

Isomorphic Mapzen search for reuse across our JavaScript libraries. As Mapzen has shutdown, please use this library with Pelias. Coordinates must be anything that can be parsed by lonlng.

Examples

Autocomplete

import {autocomplete} from 'isomorphic-mapzen-search'

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

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

import {search} from 'isomorphic-mapzen-search'

search({
  apiKey: MAPZEN_API_KEY,
  text: '1301 U Street NW, Washington, DC',
  focusPoint: {lat: 39.7691, lon: -86.1570},
  boundary: {
    country: 'US',
    rect: {
      minLon: minLon,
      minLat: minLat,
      maxLon: maxLon,
      maxLat: maxLat
    },
    circle: {
      centerPoint: centerLonLat,
      radius: 35 // kilometers
    }
  },
  format: false // keep as returned GeoJSON
}).then((geojson) => {
  console.log(geojson)
}).catch((err) => {
  console.error(err)
})

reverse({apiKey, point, format})

import {reverse} from 'isomorphic-mapzen-search'

reverse({
  apiKey: MAPZEN_API_KEY,
  point: {
    lat: 39.7691,
    lng: -86.1570
  },
  format: true
}).then((json) => {
  console.log(json[0].address)
}).catch((err) => {
  console.error(err)
})

API

autocomplete

Search for and address using Mapzen's Autocomplete service.

Parameters

  • $0 Object
    • $0.apiKey string The Mapzen API key
    • $0.boundary Object
    • $0.focusPoint Object
    • $0.format boolean
    • $0.layers string a comma-separated list of layer types
    • $0.options Object options to pass to fetch (e.g., custom headers)
    • $0.sources string? (optional, default 'gn,oa,osm,wof')
    • $0.text string query text
    • $0.url string? optional URL to override Mapzen autocomplete endpoint (optional, default 'https://search.mapzen.com/v1/autocomplete')

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

search

Search for an address using Mapzen's Search service.

Parameters

  • $0 Object
    • $0.apiKey string The Mapzen API key
    • $0.boundary Object
    • $0.focusPoint Object
    • $0.format boolean
    • $0.options Object options to pass to fetch (e.g., custom headers)
    • $0.size number? (optional, default 10)
    • $0.sources string? (optional, default 'gn,oa,osm,wof')
    • $0.text string The address text to query for
    • $0.url string? optional URL to override Mapzen search endpoint (optional, default 'https://search.mapzen.com/v1/search')

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

reverse

Reverse geocode using Mapzen's Reverse geocoding service.

Parameters

  • $0 Object
    • $0.apiKey string The Mapzen API key
    • $0.format boolean
    • $0.options Object options to pass to fetch (e.g., custom headers)
    • $0.point {lat: number, lon: number} Point to reverse geocode
    • $0.url string? optional URL to override Mapzen reverse endpoint (optional, default 'https://search.mapzen.com/v1/reverse')

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