Giter VIP home page Giter VIP logo

leaflet-maskcanvas_needfix's Introduction

install: 1. cd .../leaflet-maskcanvas_needfix 2. python -m SimpleHTTPServer

run: 127.0.0.1:8000/demo/index-1.0-dev.html

#Leaflet MaskCanvas

A leaflet canvas layer for displaying large coverage data sets.

Features:

  • Canvas tile layer based
  • High performance even for large dataset because of the QuadTree that is used internally
  • Custom color and circle size

Demo

Check out the demo at http://domoritz.github.com/vbb-coverage/.

##Usage

Set up

  • Add the MaskCanvas and Quadtree libraries.
<script src="QuadTree.js"></script>
<script src="L.TileLayer.MaskCanvas.js"></script>

You can also use the package manager bower to install the package using bower install leaflet.maskcanvas.

  • Initialize the maskCanvas layer
L.TileLayer.maskCanvas();
  • Set the dataset for the layer.
layer.setData(data);
  • Finally add the layer to the map.
map.addLayer(layer);

The data format is a simple array of [lat, lng] pairs. For example [[51.50,-0.28],[51.51,-0.07],[51.51,-0.07],[51.54,-0.29]]. I recommend that you load the data set asynchronously in order to keep the page responsive. Once the data is loaded, you can add it to the layer and display it.

Possible options

The MaskCanvas layer supports all Leaflet canvas layer options which can be passed to L.TileLayer.maskCanvas. You probably want to set the layer opacity.

Other possible options:

var layer = L.TileLayer.maskCanvas({
       radius: 5,  // radius in pixels or in meters (see useAbsoluteRadius)
       useAbsoluteRadius: true,  // true: r in meters, false: r in pixels
       color: '#000',  // the color of the layer
       opacity: 0.5,  // opacity of the not covered area
       noMask: false,  // true results in normal (filled) circled, instead masked circles
       lineColor: '#A00'   // color of the circle outline if noMask is true

});

Leaflet 1.0-dev

For the upcoming leaflet version there is a slightly changed implementation based on L.GridLayer. All you need to do, is replace L.TileLayer.maskCanvas with L.GridLayer.maskCanvas.

The new L.GridLayer.maskCanvas for leaflet 1.0-dev supports the same options as before. Additionally it allows you to specify different radii for each data point as you can see in the example at http://loggia.at/leaflet-maskcanvas/demo/index-1.0-dev.html

Screenshot

screenshot

Developers

Run the demo locally with python -m SimpleHTTPServer and then open http://0.0.0.0:8000/demo.

Acknowledgement

The QuadTree implementation comes from https://github.com/jsmarkus/ExamplesByMesh/tree/master/JavaScript/QuadTree and has been slightly modified. Original Implementation by Mike Chambers.

leaflet-maskcanvas_needfix's People

Contributors

domoritz avatar minhpl avatar bozdoz avatar shaula avatar awbacker avatar marklanz avatar spra85 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.