nodinatim

Geocode with Nominatim and Node.js


Keywords
nominatim
License
Apache-2.0
Install
npm install nodinatim@1.1.0

Documentation

nodinatim - Codacy Badge Build Status

Geocode locations with Nominatim and Node.js

Docs

Initialize

// Can include own Nominatim installation URL string in constructor; falls back to public API
const geocoder = new Nodinatim();

geocode(query)

Params:

{
  street: String,
  city: String,
  county: String,
  state: String,
  postalcode: String || Number,
  viewbox: {
    left: Number,
    top: Number,
    right: Number,
    bottom: Number
  },
  bounded: Boolean,
  excludePlaces: [String]
}

Returns a Promise with Lat/Long pair like below:

{
  latitude: Number,
  longitude: Number
}

Example

import Nodinatim from 'nodinatim';

const geocoder = new Nodinatim(); // Can include self-hosted nominatim server in instantiation. Defaults to https://nominatim.openstreetmap.org/

geocoder
  .geocode('2600 Clifton Ave, Cincinnati, Ohio 45220')
  .then(function(results) {
    console.log(results.latitude);
    console.log(results.longitude);
  })
  .catch(function() {
    // TODO: Handle error
  });

// OR

geocoder
  .geocode({
    street: '2600 Clifton Ave',
    city: 'Cincinnati',
    state: 'Ohio',
    postalcode: '45220'
  })
  .then(function(results) {
    console.log(results.latitude);
    console.log(results.longitude);
  })
  .catch(function() {
    // TODO: Handle error
  });