npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

leaflet-mapbox-vector-tile

v0.1.6

Published

A Leaflet Plugin that renders Mapbox Vector Tiles on HTML5 Canvas.

Downloads

376

Readme

Leaflet.MapboxVectorTile

browser support

A Leaflet Plugin that renders Mapbox Vector Tiles on HTML5 Canvas.

Though there is extensive use of MapboxVectorTiles in Mapnik PNG tile rendering as well as MapboxGL, there is a strange lacking of libraries that integrate these vector tiles directly into Leaflet. Search no more, the library you have been looking for is here!

Take a look at this short presentation outlining what MapboxVectorTiles are and how this is integrated in Leaflet.

##Changelog

v 0.1.5 - May 21, 2015

  • Added point onClick events

v 0.1.6 - May 26, 2015

  • Click function uses style.radius or radius function to do hittest.

Examples

Basic Usage

Statically Placed Labels

Confetti (700k Points)

Fancy Labels Showing Point Aggregations

Demo Web Application

This library is currently being used in the India Edition of Financial Services for the Poor.

Tiles are being served by SpatialServer (PGRestAPI).

Getting Started

Install the dependencies:

npm install

Dynamically compile and serve:

npm start

This puts a watcher on your source directory and recompiles with browserify automatically. It also serves the project directory on port 3000.

Open your browser to http://localhost:3000/examples and see the plugin in action!

Usage

To put Leaflet.MapboxVectorTile on your map, you create an L.TileLayer.MVTSource object. This is a subclass of L.TileLayer, and it's usage and methods work the same as other Leaflet Tile Layers.

The primary way that you setup your vector tiles is through a configuration object that you send as a parameter to the constructor.

var config = {
  ...
};

var mvtSource = new L.TileLayer.MVTSource(config);
map.addLayer(mvtSource);

Of course if you would like to remove the vector tiles from the map, just call:

map.removeLayer(mvtSource);

Take a look at the Configuration Documentation to learn about all of the options you can use and what they mean.

Testing

We are using Tape, Faucet, and Testling to do tests.

Upon push, tests are automatically run. You can see the Testling CI Test Results for the latest commit.

If you want to see if tests pass (on your local system's browser), run:

npm test

Unit tests are in test/js/. All tests are written with Tape.