/lightning-maps

A fast, lightweight slippy map renderer with very minimal dependencies

Primary LanguageJavaScriptMIT LicenseMIT

Lightning Maps (Alpha release)

A fast, lightweight slippy map renderer with very minimal dependencies.

Heavily inspired by Pigeon Maps and Leaflet, but with slightly different goals in mind:

Goals

  • Modern, built using ES6+ syntax
  • Lightweight, minimal dependencies
  • Ability to render thousands of markers, by using <canvas> rendering instead of depending on the DOM
  • Supports rendering of complex polygons
  • Wrapper for React (VueJS coming soon)

Using

1. Install

yarn add lightning-maps

Or link directly to our build via the unpkg CDN:

<script src="https://unpkg.com/lightning-maps/lib/LightningMaps.min.js"></script>

2. Create a <canvas> element

<canvas id="map" width="800" height="600"></canvas>

3. Instantiate the map and add a marker

var map = new LightningMaps.Map(canvas, {
  source: function (x, y, z) {
    return `https://maps.geocod.io/tiles/base/${z}/${x}/${y}.png`;
  },
  zoom: 12,
  center: [38.86530697026126, -77.20057854052735]
});

map.addMarker(new LightningMaps.Marker([38.882666, -77.170150]))

4. Success! You now have a map

Example

Development

Run local development build and tests

yarn run dev
yarn run test:watch

Development urls:

Build library for distribution

yarn run build