Giter VIP home page Giter VIP logo

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.