owntracks / ios

OwnTracks' iPhone App
http://owntracks.org
Other
331 stars 91 forks source link

Choose different map supplier #794

Closed brummbrum closed 4 months ago

brummbrum commented 4 months ago

This would be a great enhancement for hikers, bikers etc like me who use OwnTracks to allow family members to find them in the back country. Apple maps is pretty much useless for this whereas e.g. Open Street Maps has excellent tile support even with the standard layer (layers=N). Would be wonderful to have a different map configuration (maybe with layer and API key options if needed). OSM would be my default choice over Apple maps.

ckrey commented 4 months ago

@brummbrum thank you for your request. We considered this already 3 years ago and decided against it to limit maintenance, testing and support efforts. But maybe it is time to reconsider...

jpmens commented 4 months ago

Using OpenStreetMap tiles would have the advantage of having our Android and iOS maps look the same, for those (probably few people) who use both mobile OS. Not sure the added development and maintenance issues are worth the effort, though.

brummbrum commented 4 months ago

Thank you so much for considering (and I can already see some activity)!! I think this could be really attractive to a bunch of people, as there seems to be an interest in all sorts of outdoor activities that benefits from OSM maps rather than the maps from Apple. I say this looking at the huge amount of outdoor apps - some of them using proprietary maps, others OSM, but all lacking privacy.

Of course there has always been OTRecorder and Frontend which are great to visualize and evaluate the data also for outdoor activities with whatever map one likes (e.g. also for fitness oriented folks to measure trail times, distances and so on). However, when on the go, people will typically not contact the central server running the Frontend to locate their friends. The Frontend might also not be exposed to the internet anyway. Having the possibility to see others on OSM tiles directly in the App would make it much more attractive to us outdoor folks. Maybe you could even build in an option for choosing different OSM layers (but of course there is additional maintenance effort risk with that depending on how OSM develops).

jpmens commented 4 months ago

rabbit-10953

I think @brummbrum is going to like what @ckrey has done here; I know I do. :-)

brummbrum commented 4 months ago

You guys are awesome - Danke! Can't wait to update to 17.3.0 as soon as Apple greenlights it on the Appstore.

I digress regarding layers: Initially I had thought it might be a good idea to keep map tile support very generic via settings (allow user to add tile server url (for layers or even other suppliers), API keys) but now I feel this could be seen as an invitation for users to infringe map supplier's terms of use, copyright etc. Having standard OSM hardcoded as an additional option is a fantastic enhancement already.

ckrey commented 4 months ago

The standard OSM tiles are just the default. You can enter your preferred tile provider‘s URL/template instead via settings and add a custom attribution/copyright string

jpmens commented 4 months ago

See osmTemplate and osmCopyright in configuration in our Booklet

brummbrum commented 4 months ago

Just tested 17.3.1 and could not be happier! So cool. The osmTemplate in settings is great, makes the app amazingly flexible. I briefly tried a couple of different tile providers and it works fine. OpenTopoMap map for hiking, OpenStreetMap or CycloOSM for biking,... it works! Maybe at some point one could further optimize performance if allowing subdomains in the template, but it is already great as is.

ckrey commented 4 months ago

Release in version 17.3.1

ckrey commented 4 months ago

Maybe at some point one could further optimize performance if allowing subdomains in the template, but it is already great as is.

The implementation is based on MKTileOverlay which does not seem to support subdomains {s}.