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

Migration to 10 #691

Open
srmncnk opened this issue Sep 13, 2021 · 86 comments
Open

Migration to 10 #691

srmncnk opened this issue Sep 13, 2021 · 86 comments
Labels

Comments

@srmncnk
Copy link
Contributor

srmncnk commented Sep 13, 2021

Any plans on supporting v10?

https://docs.mapbox.com/android/beta/maps/guides/migrate-to-v10/
Looking at the migration guide it seems that there is not much sense in migrating but rather creating a new repo to back the v10 API, since the entire codebase had changed significantly.

Or is there anybody else who's doing the migration somewhere else?

@AAverin
Copy link
Contributor

AAverin commented Oct 3, 2021

@tobrun @m0nac0 Can we please have some input here?
It looks like both iOS and Android SDKs for Mapbox were considerably re-written for v10.
What is the planned strategy for Flutter support, will you still drive this or it is now full on community to start the new package?

I have several projects in Flutter relying on Mapbox and would love to see v10 support. I also don't believe that such an initiative can come to success made by community-only without any official support by Mapbox team/company.

@m0nac0
Copy link
Collaborator

m0nac0 commented Oct 3, 2021

To clarify: I do not work for Mapbox (and I never have), I just contribute to this plugin because I find it very useful and I love Mapbox's maps and map services. Therefore, I obviously can't comment on whether Mapbox plans to provide official flutter support.

But I think it has been suggested before that it's a good idea to reach out to them directly and tell them that you would be interested in official Mapbox flutter support. They may consider providing it, if they see that there's enough interest.

Personally, I do hope to be able to continue contributing to this plugin, but it's greatly dependent on how much spare time I'll have for this, and I can't exactly anticipate that, yet.

@AAverin
Copy link
Contributor

AAverin commented Oct 3, 2021

Tobrun is a Technical Lead of Mapbox Maps SDK for Android, so I assume he can answer these kinds of questions.

@rossbroom99
Copy link

Very interested in a v10 upgrade as well.

@tobrun
Copy link
Collaborator

tobrun commented Oct 20, 2021

Thank you all for reaching out and requesting this!
Regarding this project, you could say I wear two different hats:

  • one as Mapbox employee and technical lead for Mapbox Maps SDKs
  • one as Flutter enthusiast and maintainer of this community driven plugin

As a Mapbox employee, I can't make any public statement that Mapbox SDKs will officially support Flutter. I would love to see this project adopt the v10 codebase (lot of cool new features!) and current API surface of this repo is too limited (not able to change style properties for example) but I would also love to see a better approach as the current platform plugins setup (see #140). This would make maintenance almost a breeze when compared to current approach. To get that to work however, it would require a Mapbox commitment to invest into the Flutter ecosystem and Dart language.

@AAverin
Copy link
Contributor

AAverin commented Oct 20, 2021

@tobrun thanks a lot for the answer, although it doesn't give us much understanding on what to do.
Should we start the community project for v10 and hope that Mapbox will commit into supporting it? Or should we rather wait until Mapbox officially commits into supporting flutter?

My project depends heavily on flutter mapbox support and I need to understand how to drive it forward. Current implementation has some very important features missing.

@JMNewsome
Copy link

@AAverin

I am in the same boat as you, my project heavily depends on the ability to have a performant mapping solution. I am set on using mapbox. What can we do to get this process started? I have no problem with committing my time to helping to bring v10 access to flutter apps. Even if we have to start from the ground up, I am onboard.

When do we start?

@AAverin
Copy link
Contributor

AAverin commented Nov 5, 2021

@JMNewsome v10 just got production ready yesterday. Maybe now @tobrun can push a bit internally in Mapbox and give us some kind of clarity on next steps for Mapbox on Flutter?
In terms of time commitment, for me it will heavily depend on how well my project will perform after release and how much time I will have on my hands to spend on it. Problem is I can't release due to the bug in current implementation on iOS: #703

@AAverin
Copy link
Contributor

AAverin commented Nov 5, 2021

This is actually one other problem I have with future v10. While it looks great it doesn't have offline side-loading support, at least it's not mentioned anywhere. My project requires offline side-loading.
So now I am on the crossroads – adopt fleaflet and forget about vectors and 3D or invest into v10 and find a workaround for offline side-loading of map packages.

@JMNewsome
Copy link

@AAverin

I understand the situation you have. I don’t mind personally committing a portion of my time with making it, because I strongly need mapbox in general for my app concept. The main issue is I don’t exactly know what I need to do to start it, I’m need to making extensions for flutter, but if there is a general guidelines or resource on how incorporating mapbox v10 into flutter. I don’t mind atleast gnawing at it

@felix-ht
Copy link
Collaborator

@AAverin should we not just add V10 here? The API should not be that different right?

@AAverin
Copy link
Contributor

AAverin commented Nov 11, 2021

@felix-ht We could try to have a separate branch or tag and keep it in this repo.
Still, as far as I understood, SDK were completely re-written and many things most likely changed. So our separate tag or branch would be a parallel implementation of same features differently and using another SDK in native layer.

@srmncnk
Copy link
Contributor Author

srmncnk commented Nov 13, 2021

I agree with @AAverin, looking at the SDK a lot of things have changed and, TBH, maybe part of the wrapper should be rewritten to match the underlying SDK.

@tobrun
Copy link
Collaborator

tobrun commented Nov 13, 2021

The API should not be that different right?

It is :) v10 compared with v9 (android) and v6 (iOS) is a completely new SDK, build from the ground up with new internal technology stack. The main difference from consumer point of view is the adoption of Kotlin/Swift instead of Java/Obj-C in previous version. When it comes to public API, we have tried to bring the APIs across platforms closer together (which should help a lot for this project going forward!).

in Mapbox and give us some kind of clarity on next steps for Mapbox on Flutter?

No definitive answer yet atm but will be able to speak about this in upcoming weeks.

@HugoHeneault
Copy link

No definitive answer yet atm but will be able to speak about this in upcoming weeks.

Can't wait for some news! We're about to start a cool project using this really cool flutter mapbox plugin, and we'd like to know if it's worth investing porting some APIs on this version or wait for a mapbox-supported plugin a do a minimal POC with this plugin version :-)

Thank you all for your awesome job!! 👏

@stale
Copy link

stale bot commented Jan 15, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Jan 15, 2022
@srmncnk
Copy link
Contributor Author

srmncnk commented Jan 15, 2022

Any updates, any hints? @tobrun

@stale stale bot removed the stale label Jan 15, 2022
@edofritz
Copy link

Hi @AAverin , did you resolve the problem?

@AAverin
Copy link
Contributor

AAverin commented Jan 19, 2022

@edofritz I have tried reaching Mapbox through every channel I could find but they just don't respond on any emails or request for meetings and sales requests.
I guess they are not very interested to talk to potential customers and I will have to make a decision on my own. There is no side-loading support officially anymore and doesn't look like it will be coming.

@felix-ht
Copy link
Collaborator

@AAverin Well you still could run a local tile server that streams the tiles to mapbox as if it where hosted somewhere.

A Raster tile server would be trivial to do for the xyz format.

For Vector data this might be a good starting point: https://github.com/saigontek/dart-vector-tile

@AAverin
Copy link
Contributor

AAverin commented Jan 19, 2022

Thanks @felix-ht, I will try to investigate a bit more.
My use-case at the moment are pre-generated offline packages that user can download. Packages are exactly the same for all users so it doesn't make sense to generate them on the device.
Besides, offline packages on device, the way Mapbox provides it, are a bit limited in functionality not supporting merged maps with variable detail – like have a big area map with one quality and small area maps in smaller quality, all merged into the same package. Mapbox also limits number of tiles that you can download and keep offline.

I don't mind paying for the feature, as long as I can still pre-generate offline packs and let users download, but I can't reach to Mapbox to talk about details, they just don't respond.

@m0nac0 m0nac0 mentioned this issue Jan 22, 2022
@cedvdb
Copy link

cedvdb commented Mar 18, 2022

Do we have to wait for mapbox to do anything ? It's implementable today without any change on their side, isn't it ? It's a bit unclear when reading the comments here what it is that you want from map box.

I see there is a branch already using v10 https://github.com/flutter-mapbox-gl/maps/commits/kl-v10

Also I think it makes sens to keep this repository if the dart public api stays the same (or close to).

@srmncnk
Copy link
Contributor Author

srmncnk commented Mar 18, 2022

I haven't run that branch yet but looking at the diff it's rather small and seems to cover android only. Maybe author @Chaoba can tell us more?

@MatthewPatience
Copy link

Thanks @oosafff , web would be very much appreciated as many of us currently rely upon it in through this plugin. From what we have heard the version of mapbox used by this plugin would stop working in the new year some time, so at a minimum it would be nice to know that it would not be disabled until your new flutter plugin is ready with web+mobile.

@AAverin
Copy link
Contributor

AAverin commented Nov 8, 2022

@oosafff Covering other platforms (desktop, web) besides mobile + having a way to do navigation would allow us to expand our product to many more customers. Flutter is unique in this regard, allowing to do so much more than just a mobile app.

We would also love to get 3D maps that were advertised for original mapbox mobile SDKs.

I have about a 100 questions, but will wait for a proper SDK announcement first =)

@srmncnk
Copy link
Contributor Author

srmncnk commented Nov 8, 2022

@felix-ht @AAverin The plugin is mobile only at this point (Maps SDK for iOS and Android). I can take up web and other requirements with the relevant teams.

@srmanc thanks for the feedback! I’ll bring it up with the 3D team. This is definitely a feature I can see being useful for a wide variety of use-cases.

@oosafff You're very welcome! Please note that current plugin, started from Mapbox and adopted by @tobrun and then by the community (@felix-ht and @AAverin in particular) does partly support web. Personally I think it's very important to have this unification, especially since a lot of ground work is already done by this plugin.

@felix-ht
Copy link
Collaborator

felix-ht commented Nov 8, 2022

@oosafff i have to say that not having web is a hard blocker for my usecase.

One thing to note is that with the plugin system of flutter it would be possible to just create a flutter web plugin that satiesfies whatever interface is required by the new mapbox flutter package.
From my experience with flutter/mapbox on the web this should simple in comparison to the native plugins.

However having first party support for web would be much much better.

@felix-ht
Copy link
Collaborator

felix-ht commented Nov 8, 2022

Thanks @oosafff , web would be very much appreciated as many of us currently rely upon it in through this plugin. From what we have heard the version of mapbox used by this plugin would stop working in the new year some time, so at a minimum it would be nice to know that it would not be disabled until your new flutter plugin is ready with web+mobile.

Note that this plugin it will not be disabled - the only thing that changes is that mapbox won't support the old ios and android code after that point in time. So no more bug fixes from their side for the native code.

@AAverin
Copy link
Contributor

AAverin commented Nov 8, 2022

My understanding was that there are no bugfixes to the native code since 2019, no? At least no matter the complaints and attempts to reach out, everything was scoped out in favour of v10 implementation.

@felix-ht
Copy link
Collaborator

felix-ht commented Nov 9, 2022

@AAverin indeed - thats why flutter 3.X was such a pain already

@artemsorochan
Copy link

@oosafff Hi, just wanted to ask if there any new forecast on timing? Another clarification is that we want to use Navigation SDK in our app alongside with another web service that changes itinerary of stop points and to update a current route(without finishing and starting a new route). As for now we are sticked to another unofficial plugin with only functionality to start and finish route. Thanks in advance!

@kamami
Copy link

kamami commented Nov 28, 2022

Any news regarding the public beta? It is the last week of November - Will the beta be published as planned?

@demux79
Copy link

demux79 commented Nov 29, 2022

We might have to wait for the BUILD with Mapbox event on Thursday 🤔

"Mapbox is unveiling our latest features and upgrades on Dec 1 at BUILD with Mapbox, and you’re invited! Learn about our virtual event and register today"

@kamami
Copy link

kamami commented Nov 29, 2022

The agenda is not mentioning a possible flutter sdk at all.

@demux79
Copy link

demux79 commented Dec 1, 2022

Looks like a delay. Flutter SDK is only listed as "coming soon" at the bottom of the release page.

@srmncnk
Copy link
Contributor Author

srmncnk commented Dec 1, 2022

And it looks like Web is ignored completely.

@Cortex78
Copy link

Cortex78 commented Dec 1, 2022

image

Flutter SDK seems Mobile only

@AAverin
Copy link
Contributor

AAverin commented Dec 2, 2022

Well, let's hope Android and iOS are bug-free and fully features, so that the only way to go would be to add more platforms, like Web and Desktop =)
I have missed the Build event, any announcements made there?
What and when can we expect?

@felix-ht
Copy link
Collaborator

felix-ht commented Dec 2, 2022

I asked in the AMA as well - the answer was that they will wait to see how the adoption goes and depending on that add web and desktop support.

Launch will be iOS and Android tho.

@Bazni
Copy link

Bazni commented Dec 2, 2022

They created a Discord to interact with the community, on it, Chris Wrong from Mapbox said that they plan to publish the public beta on pub.dev next week.

Edit:
The link to the message https://discord.com/channels/1004826913229000704/1004826913229000707/1048252161164853348

@felix-ht
Copy link
Collaborator

felix-ht commented Dec 2, 2022

@Bazni can you share the link?

@AAverin
Copy link
Contributor

AAverin commented Dec 2, 2022

Well, it should be a big improvement in any case. And there is only one trajectory it can take – become better and support more platforms.

@demux79
Copy link

demux79 commented Dec 6, 2022

It is out: https://pub.dev/packages/mapbox_maps_flutter

@motrieux-thomas
Copy link

That's a good news!

@demux79
Copy link

demux79 commented Dec 6, 2022

Works for me on iOS after I changed the min OS version in mapbox_maps_flutter.podspec from 15 to 11 as stated on pub.dev (I use iOS 12).

However, with Android I get the following issue:

[ ] A problem occurred evaluating project ':mapbox_maps_flutter'.
[ ] > Could not read script '<my local path>/android/gradle/ktlint.gradle' as it does not exist.

I added the token to ~/.gradle/gradle.properties, also tried adding it to /android/grade.properties/ in my app directory to no avail. Flutter clean did not help either.

Do you have any suggestion? I cannot access the Discord mentioned above.

@motrieux-thomas
Copy link

Hi @demux79, here is the discord link : https://discord.gg/PEjJHgwm

@motrieux-thomas
Copy link

@demux79 I had the same problem, to fix it you need to install ktlint.
Here is the link to install it : https://pinterest.github.io/ktlint/install/cli/
You also need to add it on your project, you can follow this tutorial : https://thiagolopessilva.medium.com/configuring-and-running-ktlin-on-android-studio-990ce19b50b6

I'm not sure of the necessity to lint the code in this context, I will ask the team if it's normal :)

@srmncnk
Copy link
Contributor Author

srmncnk commented Dec 9, 2022

I took a good look at the new Mapbox plugin. Works as advertised, all in all, kudos @oosafff!

It is derived from the original opensourced project and shares some similarities with the current pre10 community supported plugin.

However there's no web support. And the new plugin is implemented with a lot of private classes that are semi exposed to the outside, making it nearly impossible or at least very hard to extend, implement classes or make a sustainable wrapper, should the community decide to make the effort and try to implement the web version as well. That's a blocker. @oosafff

In that scope I think it makes sense for ur to keep supporting the current plugin and keep reviewing merging PRs and/or find people who can and are willing to help.

Also (and this is a pure mapbox feature request) 3d polygons and polylines would be greatly appreciated: mapbox/mapbox-gl-js#6987, mapbox/mapbox-gl-js#3993, mapbox/mapbox-gl-js#12227 @oosafff

@AAverin
Copy link
Contributor

AAverin commented Dec 9, 2022

I saw in Discord that repo for the new SDK should be up soon and everyone will be able to create issues and feature requests there.

@m7mdra
Copy link

m7mdra commented Dec 14, 2022

It is out: https://pub.dev/packages/mapbox_maps_flutter

Sadly its not open source yet , i would've loved to be able to make my own fork and add support to 3d model from 10.6.2.

good job anyway.

@JigneshWorld
Copy link

Not an official open-source version, but for the time being, here is the link to explore this specific project version.

https://github.com/motrieux-thomas/mapbox_maps_flutter-0.3.0

@cedvdb
Copy link

cedvdb commented Jan 4, 2023

official repo here https://github.com/mapbox/mapbox-maps-flutter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests