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

Flutter bindings #41

Closed
systemed opened this issue Mar 5, 2021 · 13 comments
Closed

Flutter bindings #41

systemed opened this issue Mar 5, 2021 · 13 comments
Labels
help wanted Extra attention is needed

Comments

@systemed
Copy link

systemed commented Mar 5, 2021

Mapbox have a set of Flutter bindings to Mapbox GL Native: https://github.com/tobrun/flutter-mapbox-gl

It began life as an official Mapbox repo. It's now "community driven and is not an official Mapbox product... we welcome feedback and contributions". Mapbox devs still appear to be active in the project: there's a project status discussion at flutter-mapbox-gl/maps#517

It would be good to have Flutter bindings for MapLibre. The Mapbox bindings are still BSD-licensed, so it should be possible to base them off the latest version, obviously without bindings to any post-licence change MBGL features.

Putting this here as a placeholder and gathering point for now - I may look at this when I need the bindings but obviously won't be disappointed if someone else gets there before me!

@m0nac0
Copy link
Contributor

m0nac0 commented Mar 9, 2021

I've actually been working on this in https://github.com/m0nac0/flutter-maplibre-gl!
(I'm also a contributor to https://github.com/tobrun/flutter-mapbox-gl)

Current status is:

  • Android uses Maplibre GL Native and seems to work fine, but I haven't tested features provided by the Android plugins.
  • iOS compiles but still uses Mapbox GL Native. I likely won't be able to complete the migration for iOS, since I don't have a Mac. Help/contributions would be greatly appreciated!
  • web uses Maplibre GL JS and seems to work fine.

Apart from the library migrations I've also done a lot of refactoring.
The only breaking API changes so far are: MapboxMap <--> MaplibreMap and MapboxMapController <--> MaplibreMapController, so it should be easy to switch between the libraries.

@jwinarske
Copy link
Contributor

Any runtime metrics for Android or iOS? Such as threads, worst case reminder time, memory footprint, disk usage? I'm interested in Linux, and may be able to provide implementation

@m0nac0
Copy link
Contributor

m0nac0 commented Mar 28, 2021

I don't have any runtime metrics, unfortunately. Linux support would be amazing, though!

@m0nac0
Copy link
Contributor

m0nac0 commented Oct 3, 2021

@systemed Update: https://github.com/m0nac0/flutter-maplibre-gl now supports Android, iOS and web! (Thanks to @mindthefish who got iOS to work!).

@jwinarske Did you ever happen to start working on Linux support?

@jwinarske
Copy link
Contributor

I have been working with Mapbox directly. So no update.

@wipfli
Copy link
Contributor

wipfli commented Jun 9, 2022

Should we close this issue?

@jwinarske
Copy link
Contributor

@wipfli It should remain open. There are two options. PlatformViews, or Render to Texture. Using Flutter PlatformViews is less performant than using render to texture.

Also I am no longer working with Mapbox on this, so I am open to collaborate. Tobrun's approach is not official Mapbox support, and is definitely a naive implementation.

@wipfli
Copy link
Contributor

wipfli commented Jun 9, 2022

What is Tubrun?

@jwinarske
Copy link
Contributor

tobrun -> https://github.com/tobrun/flutter-mapbox-gl
An employee of Mapbox, only it's not related to Mapbox deliverables. Personal project.

@wipfli
Copy link
Contributor

wipfli commented Jun 9, 2022

Thanks :) Redirects to https://github.com/flutter-mapbox-gl/maps

@birkskyum
Copy link
Member

birkskyum commented Sep 10, 2022

@jwinarske, I'm not sure I understand your answer to why to keep the issue open. Are the slower PlatformViews used in flutter-maplibre-gl, or can you rephrase it somehow?

@jwinarske
Copy link
Contributor

@birkskyum

flutter-maplibre-gl:

  • limited platform support (eg no generic Linux support)
  • uses platform views; not compatible for most custom embedders
  • Rendering to texture is a better solution

@louwers
Copy link
Collaborator

louwers commented Nov 10, 2024

There are now various libraries for MapLibre (Native) on Flutter.

If someone wants to address the limitations of flutter-maplibre-gl with another approach, please open a more actionable issue or PR (such as #1254).

@louwers louwers closed this as completed Nov 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

7 participants