Giter VIP home page Giter VIP logo

canvas-flowmap-layer's People

Contributors

jwasilgeo avatar sarahbellum avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

canvas-flowmap-layer's Issues

Trying to run demo locally

Hi,

Not a JS dev here. I tried to run the main demo locally, but it fails to load config.js.

From what I can see, esri requires config.js to be publicly available right? If yes, is there a workaround this?

Cheers

Enable more animation functions

I think we can get rid of our own custom animation functions and instead use dojo/fx/easing which appears to provide a host of functions to choose from. This could reduce the source code we have to maintain and provide users/devs with far more options.

If this dojo module works the way I think it does from my massive research spanning a whole 10 minutes, then I propose that we change the animationStyle property to accept any of the function names in this dojo module, e.g.:

new CanvasFlowmapLayer({
  animationStyle: 'quadIn' // string, can be any of the function names in dojo/fx/easing
});

In the layer source code I believe we can then alter values as needed by simply passing them into, for example:

easing.quadIn(2) // returns 4
easing.quadIn(4) // returns 16
// and so on

Thoughts?

Prep for release with JSAPI 3.x

  • support wrap-around past +/- 180 longitude
    • wrap-around code can be cleaned up and made to be toggle-able by devs
  • Make animations an integral part of the custom layer
    • Optional
    • Add a method for developers to be able to toggle animations on/off (aka: start/stop)
    • Let devs configure animation properties: initial starting and offset values, equation for easing, symbology
    • Decide what the default animation equation and symbology will be
    • Default off? No, decided to keep it on by default to help developers more easily stumble upon this amazing feature.
  • Support graduated line symbology
  • Support graduated point symbology
  • Support unique/categorical values point symbology
  • Test with different O/D relationship types:
    • 1-to-many
    • 1-to-1
    • many-to-1
  • Insert layer's <canvas> elements in a flexible way after any number of potential map image DOM nodes
  • Documentation
  • Clean up and/or add more samples?

Roadmap: JSAPI 4.x support

Currently Canvas-Flowmap-Layer only works with JSAPI 3.x and extends esri/layers/GraphicsLayer. High-level summary:

  • It manually inserts its own <canvas> elements into very specific places within the map in the DOM.
  • It listens to several map events to know precisely when to clear and/or redraw its own <canvas> elements.
  • It uses point graphics, but applies symbology so that they are "ghost graphics"; this is to enable click, mouse-over, etc. functionality that developers using the GraphicsLayer are already familiar with.

The paradigm for creating custom layers in JSAPI 4.x is clearly different than JSAPI 3.x. I'm opening this issue as a placeholder for investigating what it'll take to create a custom JSAPI 4.x layer that'll work in both a MapView and SceneView.

cc @ycabon

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.