Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Add LocationSource #4331

Closed
tobrun opened this issue Mar 15, 2016 · 7 comments · Fixed by #7892
Closed

Add LocationSource #4331

tobrun opened this issue Mar 15, 2016 · 7 comments · Fixed by #7892
Assignees
Labels
Android Mapbox Maps SDK for Android refactor SEMVER-MAJOR Requires a major release according to Semantic Versioning rules

Comments

@tobrun
Copy link
Member

tobrun commented Mar 15, 2016

LocationSource is our equivalent of LocationServices.

@tobrun tobrun added refactor Android Mapbox Maps SDK for Android labels Mar 15, 2016
@tobrun tobrun modified the milestone: android-v4.1.0 Mar 15, 2016
@tobrun tobrun added the SEMVER-MAJOR Requires a major release according to Semantic Versioning rules label Apr 19, 2016
@mkv123
Copy link

mkv123 commented Jun 28, 2016

Currently the user location marker is internally hardcoded to use the device's GPS positioning to define where it is. Imho this is architecurally a bit at odds with separating data and visualization, but also in a very practical sense it makes the position marker very inflexible.

For example let's say you want a virtual walk through of the route, like a play button to preview your journey. Currently we'd have to re-implement the user position marker for this functionality, instead of simply setting its location. Another case would be for using any 3rd party location source, ranging from IP address to airplane schedules to qr codes.

@mkv123
Copy link

mkv123 commented Jul 5, 2016

@tobrun Btw, why the SEMVER-MAJOR tag? If implemented in the same way as in google-play-services, where you provide a default one, but allow overriding it, it wouldn't break API as far as I can tell.

@tobrun
Copy link
Member Author

tobrun commented Nov 8, 2016

@mkv123 sorry for only getting back to you now. The initial focus of this ticket was to rename LocationServices to LocationSource (reason behind the semver-label). Since posting this some requirements have changed and including a pluggable system for anything location related is on our list of long term improvements to the SDK.

@tobrun tobrun added this to the android-v5.0.0 milestone Nov 8, 2016
@tobrun tobrun self-assigned this Nov 8, 2016
@tobrun
Copy link
Member Author

tobrun commented Nov 8, 2016

Looking a bit more into this it seems that there are two requirements here:

  • general refactor of LocationServices to be a default LocationSource
  • make pluggable system using the LocationSource interface

@tobrun
Copy link
Member Author

tobrun commented Jan 5, 2017

Been working on this a bit and need to conclude that this requires a bigger lift as initially thought. Making the system pluggable requires bigger refactors to LocationServices and Telemetry. We ideally pick this up when we introduce a separate telemetry module. I'm going to submit some fixes that I made to telemetry separately.

@zugaldia
Copy link
Member

We have recently made some progress here:

general refactor of LocationServices to be a default LocationSource

With mapbox/mapbox-java#269 we now have an abstract LocationEngine with sample implementations for Lost and Play Services. We could tweak the former as the default implementation for our LocationSource. It conforms to LocationSource while expanding its functionality.

make pluggable system using the LocationSource interface

That's achieved with the newly introduced LocationEngine interface.

@zugaldia
Copy link
Member

zugaldia commented Feb 3, 2017

Fixed via #7892.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Android Mapbox Maps SDK for Android refactor SEMVER-MAJOR Requires a major release according to Semantic Versioning rules
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants