Legacy

Mapbox.js is no longer in active development. To learn more about our newer mapping tools see Mapbox GL JS.

You are viewing an older version of Mapbox.js. Check out v3.3.1 for the latest.

L.mapbox.geocoder(id|url, options)

A low-level interface to geocoding, useful for more complex uses and reverse-geocoding.

Options Value Description
id or url string Value must be
  • A geocoder index ID, e.g. mapbox.places-v1
  • A geocoder API URL, like https://api.mapbox.com/v4/geocode/mapbox.places-v1/{query}.json
options Object The second argument is optional. If provided, it may include:

Returns a L.mapbox.geocoder object.

geocoder.query(queryString, callback)

Queries the geocoder with a query string, and returns its result, if any.

Options Value Description
queryString (required) string a query, expressed as a string, like 'Arkansas'
callback (required) function a callback

The callback is called with arguments

  1. An error, if any
  2. The result. This is an object with the following members:

     {
         results: // raw results
         latlng: // a map-friendly latlng array
         bounds: // geojson-style bounds of the first result
         lbounds: // leaflet-style bounds of the first result
     }
    

Example: Live example of geocoder.query centering a map.

Returns: the geocoder object. The return value of this function is not useful - you must use a callback to get results.

geocoder.reverseQuery(location, callback)

Queries the geocoder with a location, and returns its result, if any.

Options Value Description
location (required) object A query, expressed as an object:
  • [lon, lat] // an array of lon, lat
  • { lat: 0, lon: 0 } // a lon, lat object
  • { lat: 0, lng: 0 } // a lng, lat object
The first argument can also be an array of objects in that form to geocode more than one item.
callback (required) function The callback is called with arguments
  • An error, if any
  • The result. This is an object of the raw result from Mapbox.

Returns: the geocoder object. The return value of this function is not useful - you must use a callback to get results.