-
-
Notifications
You must be signed in to change notification settings - Fork 29
Module not working well with maplibre-gl-native sdk for android. #8
Comments
This repo is not yet compatible with maplibre SDK. See #6. Maybe you have the knowledge to make this working and contribute code changes or maybe some guide to do? |
Any idea why am I able to run graphhopper-navigation-example but when I want to customize it (with implementation 'com.graphhopper:graphhopper-navigation-android-ui:0.1.0-SNAPSHOT') I got this mapbox_styleUrl not found error |
which maplibre sdk are you using? |
I dont have maplibre import in my gradle (like in the graphopper navigation example), but I tried it with all o them (9.2.1, 9.3.0, 9.4.0), you were able to build it with some version? If I am missing something, sorry for misunderstanding, I am noob in this field (my goal is to create bridge from android into react native doesn't matter how). |
GUYS WE TRIED TO FIX THIS WITH ALTERNATIVE WAY- WORKING ON UPGRADIG OUR OWN VERSION WILL RELEASE SOON IN PR- FOR STARTERS YOU CAN CHECK THIS https://github.com/DroidsOnRoids/graphhopper-navigation-android/packages/649651 THESE GUSYS DROIDS N DROIDS HAS UPGRADED THIS REPO AND CREATED A COMPATIBLE VERSION WITH MAPLIBRE SDK 9.2.1. WE HAVE CHECKED IT OURSELVES IT WORKS SO SMMOTH AND ACCURATE WHEN IT COMES TO REALT TIME LOCATION WHILE NAVIGATION OR REROUTING . BUT THEY DONT HAVE UI WITH THIS PACKAGE SO WE HAVE TO USE ANOTHER PACKAGE FOR UI https://mvnrepository.com/artifact/com.mapbox.mapboxsdk/mapbox-android-navigation-ui SO BASICALLY A MIXTURE OF THREE SOURCES FOR NOW - NOT PROUD OF OUR WORK FOR NOW BUT THE APP WORKS SMOOTHILY. WHAT WE CAN SAY. BASICALL mAPLIBRE SDK + DROIDS AND DROIDS PACKAGE (FOR NAVIGATION CORE PART) + mAPBOX UI PACKAGE (OPEN SOURCE ONE). WILL SHARE COMPLETE SOURCE PACKAGE HERE ONCE IT IS BUGS FREE . OPEN FOR SUGGESSTIONS. |
I did the same. Used maplibre-9.4.0 sdk along and mapbox navigation ui 0.42.6 for the tbt navigation. what i did is pretty custom. I'll try creating a separate repo for it and post it here once I separate my components and custom code from it. Cheers guys! PS: nice work @kabilsharma |
It's great to hear that you made progress with updating the code. It would be great if you could provide a PR for this once you have a reasonably well working set up :). |
Could you please share your edits. our work gives lots of bugs and issues. |
I forked the flitsmeister-navigation-android, since they have already replaced location layer plugin by location component and removed mapbox telemetry. Flitsmeister still depends on the old mapbox libraries and navigation-ui is missing. I added navigation-ui from mapbox 0.42 with some other changes. Afterwards, I ported it from mapbox to maplibre: https://github.com/sw-code/flitsmeister-navigation-android We are using it for our city tourism application, which includes in-app-navigation. We would be happy to contribute to maplibre. |
This is really cool - thanks! We should definitely get in touch to discuss this. As it seems that your code is already working with maplibre and has also more features (guessing from the screenshot). I just sent an Email to your company. This would be also an interesting topic to discuss in the Maplibre meeting this Thursday where you could join. |
You can try it out. I added also some samples from mapbox to the sample app. There are already three samples working, I did not manage to finish the fourth yet. You have to provide the configuration via the developer-config.xml: <resources>
<string name="mapbox_access_token">pk.GRAPHHOPPER_API_TOKEN</string>
<!-- This is the endpoint for the routing API, please note this endpoint might change in the future, please contact GraphHopper if you want to publish an app using this endpoint-->
<string name="base_url" translatable="false">https://graphhopper.com/api/1/navigate/</string>
<string name="map_view_styleUrl" translatable="false">https://api.maptiler.com/maps/streets/style.json?key=MAP_TILER_API_TOKEN</string>
</resources> |
Thank you. This works for me. I had to rename libandroid-navigation-ui/src/test/java/com/mapbox/services/android/navigation/ui/v5/map/MapWaynameTest.java to MapWayNameTest before I got it working on Linux. Do you know what it means when a notification comes ala "found 4 retained objects grouped as 2 distinct leaks" is shown? (source of this seems to be NavigationLocationEngineListener calling MapboxNavigation which leaks the NavigationService instance)
Did you add this from the old open source version and are there any dependencies to the latest mapbox libraries? And is it still without telemetry and binary blobs etc? I.e. the only mapbox dependencies are geojson and turf? |
Sorry for this case sensitivity issue.
The notification is from leak canary. It is enabled in debug mode. I fixed a lot of the leaks mapbox had, but some may still exist and some are minor and have no effect on the app.
Yes, I added it from the old open source version. The navigation has no direct dependencies to mapbox anymore. If I check the dependencies tree, there are still two transitive dependencies to mapbox: com.mapbox.mapboxsdk:mapbox-android-accounts and com.mapbox.mapboxsdk:mapbox-android-gestures from org.maplibre.gl:android-sdk. |
I fixed the issue with MapWaynameTest and offroute handling in the navigation UI. Right now we are also working on the iOS part with direct MapLibre integration. Looks promising :) |
Do you plan to create a pull request? |
See also recent discussion at maplibre/maplibre#7 |
Android API:
Mapbox Navigation SDK version:
Steps to trigger behavior
1.1 implementation 'org.maplibre.gl:android-sdk:9.4.0'
1.2 implementation 'com.graphhopper:graphhopper-navigation-android-ui:0.1.0-SNAPSHOT'
import com.mapbox.api.directions.v5.models.DirectionsRoute;
import com.mapbox.geojson.Point;
import com.mapbox.mapboxsdk.Mapbox;
import com.mapbox.mapboxsdk.annotations.Marker;
import com.mapbox.mapboxsdk.location.LocationComponent;
import com.mapbox.mapboxsdk.location.LocationComponentActivationOptions;
import com.mapbox.mapboxsdk.location.LocationComponentOptions;
import com.mapbox.mapboxsdk.location.modes.CameraMode;
import com.mapbox.mapboxsdk.location.modes.RenderMode;
import com.mapbox.mapboxsdk.location.permissions.PermissionsListener;
import com.mapbox.mapboxsdk.location.permissions.PermissionsManager;
import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.maps.OnMapReadyCallback;
import com.mapbox.mapboxsdk.maps.Style;
import com.mapbox.services.android.navigation.v5.utils.LocaleUtils;
Expected behavior
Navigating between 2 Points
Actual behavior
Duplicate Classes issue when using "graphhopper android navigation ui" with maplibre android sdk 9.4
OR
on excluding mapbox-android-sdk while implementing "graphhopper android navigation ui"
jetified-graphhopper-navigation-android-ui-0.1.0-SNAPSHOT/res/layout/navigation_view_layout.xml:10: AAPT: error: attribute mapbox_styleUrl (aka mapsapp:mapbox_styleUrl) not found.
The text was updated successfully, but these errors were encountered: