Skip to content

hackergrrl/place-geo-marker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

place-geo-marker

Launch an interactive map to place a marker, and get a longitude/latitude back when the tab is closed.

Install

npm install place-geo-marker

place-geo-marker is designed for use with Node, not in the browser. (For now.)

Usage

var placeGeoMarker = require('place-geo-marker')

var defaultMarkerPos = {
  lng: 37.3404253,
  lat: -121.8924441
}

placeGeoMarker(defaultMarkerPos, function(err, pos) {
  // 'pos' will be of the same structure as 'defaultMarkerPos'
  console.dir(pos)
})

API

place-geo-marker exports a single function.

var placeGeoMarker = require('place-geo-marker')

placeGeoMarker(defaultPos, cb)

defaultPos is an object with populated lng and lat properties. If null, a default will be provided.

cb is a callback function, with parameter one being an error (null if none), and the parameter two being an object as above with lng and lat properties.

How it Works

A wonderful hack! place-geo-marker starts a local HTTP server on localhost:9691 and then launches your $BROWSER to that URL, serving some HTML and Javascript that shows a Google Map with a draggable marker the default location.

Every time the user ends a drag operation, it sends that location along a Websocket that is connected to the localhost server.

When the user is finished, they close the tab. This severs the Websocket connection, informing the local HTTP server the location is finalized, which kills the server and sends the final location in a callback to the original caller.

License

MIT

About

🌏 Launch an interactive map to place a marker, and get a lng/lat back when the tab is closed.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published