Skip to content
This repository has been archived by the owner on Mar 14, 2024. It is now read-only.
/ lightning-maps Public archive

A fast, lightweight slippy map renderer with very minimal dependencies

License

Notifications You must be signed in to change notification settings

Geocodio/lightning-maps

Repository files navigation

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