GithubHelp home page GithubHelp logo

erinaceous / leaflet.glify Goto Github PK

View Code? Open in Web Editor NEW

This project forked from robertleeplummerjr/leaflet.glify

0.0 2.0 0.0 2.49 MB

fully functional, ridiculously fast web gl renderer plugin for leaflet

Home Page: https://robertleeplummerjr.github.io/Leaflet.glify

License: MIT License

JavaScript 93.97% HTML 2.48% GLSL 3.56%

leaflet.glify's Introduction

Leaflet.glify

web gl renderer plugin for leaflet

Pronounced leaflet-G.L.-Ify, or leaflet-glify, or L.-G.L.-Ify, or L-glify, or elglify

inspired by http://bl.ocks.org/Sumbera/c6fed35c377a46ff74c3 & need.

Objective

  • To provide a means of rendering a massive amount of data visually in a way that does not degrade user experience
  • Remaining as simple as possible with current fastest libs
  • Providing the same sort of user experience one would get using standard html and elements

Simple Polygon Usage

L.glify.shapes({
  map: map,
  data: geoJson,
  click: function(e, feature) {
    //do something when a shape is clicked
  }
});

Simple Points Usage

L.glify.points({
  map: map,
  data: points,
  click: function(e, point, xy) {
    //do something when a point is clicked
  }
});

(Planned) Simple Lines Usage

L.glify.lines({
  map: map,
  data:geojson,
  click: function(e, feature, xy) {
    //do something when a line is clicked
  }
});

L.glify.shapes Options

  • map {Object} required leaflet map
  • data {Object} required geojson data
  • vertexShaderSource {String|Function} optional glsl vertex shader source, defaults to use L.glify.shader.vertex
  • fragmentShaderSource {String|Function} optional glsl fragment shader source, defaults to use L.glify.shader.fragment.polygon
  • click {Function} optional event handler for clicking a shape
  • color {Function|Object|String} optional, default is 'random'
  • className {String} a class name applied to canvas, default is ''

L.glify.points Options

  • map {Object} required leaflet map
  • data {Object} required geojson data
  • vertexShaderSource {String|Function} optional glsl vertex shader source, defaults to use L.glify.shader.vertex
  • fragmentShaderSource {String|Function} optional glsl fragment shader source, defaults to use L.glify.shader.fragment.point
  • click {Function} optional event handler for clicking a point
  • color {Function|Object|String} optional, default is 'random'
  • opacity {Number} a value from 0 to 1, default is 0.8
  • className {String} a class name applied to canvas, default is ''
  • size {Number|Function} pixel size of point
  • sensitivity {Number} exagurates the size of the clickable area to make it easier to click a point

L.glify methods

  • longitudeFirst()
  • latitudeFirst()
  • instances
  • points(options)
  • shapes(options)
  • flattenData(data)
  • latLonToPixel(lat, lon)

Roadmap

Soon to come, lines, and limitless styles.

leaflet.glify's People

Contributors

robertleeplummerjr avatar efwe avatar

Watchers

Owain Jones avatar James Cloos 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.