Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Maps] Integrate "vega maps" functionality as a layer in the Maps app #94234

Closed
kindsun opened this issue Mar 9, 2021 · 4 comments
Closed

[Maps] Integrate "vega maps" functionality as a layer in the Maps app #94234

kindsun opened this issue Mar 9, 2021 · 4 comments
Labels
[Deprecated-Use Team:Presentation]Team:Geo Former Team Label for Geo Team. Now use Team:Presentation discuss Team:Visualizations Visualization editors, elastic-charts and infrastructure

Comments

@kindsun
Copy link
Contributor

kindsun commented Mar 9, 2021

Following up on the work done in #82285 as well as the work in #88605. We should consider whether or not to proceed with adding vega map capabilties to the Maps app in the form of a single vega layer that, unlike in vega maps, can coexist with other Maps layers.

image

Some previously cited pros/cons:

Pros:

  • Consolidates Kibana's mapping presence into one app with the deprecation of the legacy Region and Coordinate maps
  • Gives current vega maps users a continuing option into 8.0+ in a more robust mapping ecosystem
  • Provides an "escape hatch" for functionality Maps currently doesn't, and may never, support

Cons:

  • It's unclear how many users currently use/benefit from Vega maps
  • Requires continued upkeep & maintenance and a better understanding of the vega ecosystem to provide user support

Copied from the original closed experimental PR, the following takeaways should be considerations in what needs further exploratory work and vetting before proceeding further. See the original PR for more of the conversation as well as some concerns that were already addressed.

What works well

  • Points are correctly transformed (panning and zoom work as expected)
  • Mapbox events can be passed through to the Vega canvas
  • Canvas updates triggered by events work as expected
  • Acts like any other layer, i.e.- it can be shuffled up or down

What needs work

  • There's a quick layer flicker on redraw (like at the end of panning or zoom) not present in the original Vega Maps. This may or may not be avoidable depending on where the layer update latency exists
  • Remaining signals/events (signals on the vega side, events on the Mapbox side) need to be bound between Mapbox and Vega
  • The original vega pipeline & editor need to be either imported or ported to Maps. This PR tests the output of that pipeline
  • Needs tooltip integration with Maps app
  • Details: update icon, make sure mouse is pointer on feature hover, clean up, etc.

cc @kmartastic @timroes @thomasneirynck

@kindsun kindsun added discuss [Deprecated-Use Team:Presentation]Team:Geo Former Team Label for Geo Team. Now use Team:Presentation Team:Visualizations Visualization editors, elastic-charts and infrastructure labels Mar 9, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-gis (Team:Geo)

@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app (Team:KibanaApp)

@thomasneirynck
Copy link
Contributor

There's a quick layer flicker on redraw (like at the end of panning or zoom) not present in the original Vega Maps. This may or may not be avoidable depending on where the layer update latency exists

The current VegaMaps after the mapbox-gl migration does not have this flicker. The approach is slightly different, in that it just overlays a <div> with the vega-visualization on top of the map. It does use the render hook provided by Mapbox-gl#Layer API

render() {
updateVegaView(mapInstance, vegaView);
},

Remaining signals/events (signals on the vega side, events on the Mapbox side) need to be bound between Mapbox and Vega

This is a little vague to me. Is it possible to add some more details?

  • Are Vega signals being correctly processed? (e.g. for hover-effects)
  • Not sure how events on the mapbox-side should propagate. I think the only thing required is
    • that panning/zooming correctly propagates.
    • Maps-interaction (like tooltips) continue to work

Needs tooltip integration with Maps app

Does it? :) not being facetious, but not sure if this is required. It is not currently supported in VegaMaps, and not sure if we need this in the proposed Maps-app vega-layer. It would require configuration beyond the Vega-syntax

@thomasneirynck
Copy link
Contributor

Closing. This is a great request, but unlikely will be picked up soon. Can reopen when this regains traction.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Deprecated-Use Team:Presentation]Team:Geo Former Team Label for Geo Team. Now use Team:Presentation discuss Team:Visualizations Visualization editors, elastic-charts and infrastructure
Projects
None yet
Development

No branches or pull requests

3 participants