1.0.3 • Published 5 years ago

cartographer v1.0.3

Weekly downloads
7
License
MIT
Repository
github
Last release
5 years ago

Cartographer

This package tries to make integration with different map providers easier by returning the same result whether you are using gmaps, osm, etc.

Install

npm i cartographer

How to use

Google maps

Get here your API Key

const { createGmaps } = require('cartographer')
const gmaps = createGmaps({
  params: { key: 'YOUR_GMAPS_API_KEY_HERE' }
})

const result = await gmaps.search('Barcelona') // returns an array of locations.

Open Street Map

const { createOSM } = require('cartographer')
const osm = createOSM()
const result = await osm.search('Barcelona') // returns an array of locations.

In the case of osm you can request the geojson of a location by passing their osmId:

const geojson = await osm.searchGeoJSON(347950) // returns the geojson of Barcelona.

Also, if you have an osm object (raw) you can pass it to get an updated response. The method will take from the object the osm_id and the osm_type to collect the osm info:

const result = await osm.searchGeoJSON({
  // ... the rest of the object is ignored.
  osm_id:"347950",
  osm_type:"relation"
}) // returns an array with the location Object

Common search response for all integrations (Location Objects)

const result = [{
  address: String,
  lon: Number,
  lat: Number,
  bbox: [
    [Number, Number], // south - lat, west - lon
    [Number, Number]  // north - lat, east - lon
  ],
  raw: {} // unprocessed response, as returned by the source
}]