1.0.1 • Published 5 years ago

svg-world-map v1.0.1

Weekly downloads
6
License
ISC
Repository
github
Last release
5 years ago

svg-world-map

Render a world map with a pin at a specific location. Fiddle with it on the website.

map with pin at Berlin

npm version build status dependency status dev dependency status ISC-licensed chat on gitter support me on Patreon

svg-world-map returns a virtual-dom <svg> node. You can either stringify it into a file or embed it into your Frontend stack.

Note that because shapes of all countries are quite a lot of data, this module weighs roughly 43k when browserified, minified and gzipped.

The data is from world.geo.json.

Installing

npm install svg-world-map

Usage

const map = require('svg-world-map')
const stringify = require('virtual-dom-stringify')

const myMap = map(81.8, 28.4) // Nepal

process.stdout.write(stringify(myMap))

API

map(longitude, latitude, [opt])

opt is optional and has the following default values:

const defaults = {
	ocean: '#8df', // color of the ocean
	land: 'white', // color of the land
	mapWidth: 500, // width of the `<svg>`
	pin, // virtual dom node with the pin
	pinHeight: 8 // relative to map viewBox
}

See also

Contributing

npm test is a regression test: It compares the generated output, to a example/berlin.svg, which has been manually checked by me. If you introduce a change that changes the output, check it manually and commit it as example/berlin.svg.

If you have a question, found a bug or want to propose a feature, have a look at the issues page.