Campus-Android icon indicating copy to clipboard operation
Campus-Android copied to clipboard

[Feature] Use OpenStreetMaps for Roomfinder

Open kmodexc opened this issue 2 years ago • 13 comments

I have seen this app and would like to work on this. My idea would be to use something like this to solve the problem.

kmodexc avatar May 03 '22 06:05 kmodexc

I also thought it could be kinda cool to have a Google Maps Live View like AR aided guidance systems to exercise rooms, could be helpful for new students. But thats a larger undertaking, just wanted to put the idea out there.

Liqs-v2 avatar May 03 '22 07:05 Liqs-v2

That would be a large step. I would start with just opening openstreetmaps or maps and mark the location. If this works we can always add more features to it or do even more complicated things.

kmodexc avatar May 03 '22 07:05 kmodexc

I also thought it could be kinda cool to have a Google Maps Live View like AR aided guidance systems to exercise rooms, could be helpful for new students. But thats a larger undertaking, just wanted to put the idea out there.

That is defintly not currently possible from my perspective. We dont even have coordinates for most of the rooms, let alone a layout for the buildings. Indoor Navigation would also require some sort of navigation beacon, i.e. Hardware, to acuratly pinpoint users locations. However if you have any implementation ideas you can create a PR/another issue.

CommanderStorm avatar May 03 '22 08:05 CommanderStorm

@kmodexc If you want, you can have a look at our js implementation of the same feature. We have included a geojson style, to make our map look more custom. This could obviously also be another Issue/PR.

FYI: We are currently working on static maps in https://github.com/TUM-Dev/navigatum/issues/39 to greatly improve our performance, while still offering our custom style. However this is going to take some time, since all software out there is either terribly slow, or does consume a gigantic amount of memory (I esimated around 1TB of RAM required..). I am currently looking into splitting the mbtiles files and then merging them (staying below the 50GB Memory mark the whole time), but this is turning out to be non-trivial and will probably take another month. CartoDB/mobile-sdk does not seem to support to support static maps, but this should not be a big issue, since faster loading maps are only a "nice to have" in my oppinion. Kotlin should be way faster than JS anyway, so the drawback should be tolerable.

For all other features in our pipeline this seems to be the right choice

CommanderStorm avatar May 03 '22 08:05 CommanderStorm

I also thought it could be kinda cool to have a Google Maps Live View like AR aided guidance systems to exercise rooms, could be helpful for new students. But thats a larger undertaking, just wanted to put the idea out there.

That is defintly not currently possible from my perspective. We dont even have coordinates for most of the rooms, let alone a layout for the buildings. Indoor Navigation would also require some sort of navigation beacon, i.e. Hardware, to acuratly pinpoint users locations. However if you have any implementation ideas you can create a PR/another issue.

Yes I agree. As I said I just wanted to put the idea out there.

Liqs-v2 avatar May 03 '22 09:05 Liqs-v2

nav.tum.sexy got so freaking good, we might as well just redirect to them or find a way to use their map overlays in the app. At least additionally linking to nav.tum.sexy should be part of the app in the future imo.

joschahenningsen avatar May 04 '22 07:05 joschahenningsen

nav.tum.sexy got so freaking good, we might as well just redirect to them or find a way to use their map overlays in the app. At least additionally linking to nav.tum.sexy should be part of the app in the future imo.

I thought using something like this to get started. I would open something like the "share" thing and let the user decide, how he wants to open the location.

kmodexc avatar May 04 '22 07:05 kmodexc

Most Map SDK's are not for free. Many of them offer a free tier of some amount of requests per month (i.e. 50 000). I just want to know how many request we can expect to the interactive map.

If no one reacts, i will use OpenLayers instead. This is totally free.

kmodexc avatar Aug 26 '22 13:08 kmodexc

Actually, if you need tiles, we will have a tiling service (vector+static) online in a few days (or once https://github.com/TUM-Dev/navigatum/pull/201 gets a review if the changes to the docs are clear 😉) I don't know if this helps you in any way. We currently only offer europe at high details, because of what we want to use it for, but I'd asume we can increase it to europe at high+planet up to a lower zoom level without having to upgrade servers.

The documentation of OpenLayers seems quite poor. I want to avoid discouraging you, but if I were you, this documentation state would be a big deterrent. I honestly could not find the section, which talks about how to integrate a mobile app with them..

Given our current max. users of 5k, something like mapbox mobile shold be fine, though. 😉 Their free tier supports up to 25k monthly active users. On NavigaTUM we use their Web API. They have solid features and a good documentation, at least from what I can tell. @kordianbruck You have a better perspective on our analytics: is always staying below 25k monthly active users realstic?

CommanderStorm avatar Aug 29 '22 00:08 CommanderStorm

Actually, if you need tiles, we will have a tiling service (vector+static) online in a few days (or once TUM-Dev/navigatum#201 gets a review if the changes to the docs are clear wink) I don't know if this helps you in any way. We currently only offer europe at high details, because of what we want to use it for, but I'd asume we can increase it to europe at high+planet up to a lower zoom level without having to upgrade servers.

Small update: we have reviewed this changed and set it online at https://nav.tum.sexy/maps/ (as said, with limited coverage). tilesever-gl is throwing small tantrums on some inconsequential things, but those don't seem like dealbreakers to me. For example, to discover the option of serving from a prefix, I had to read their code because that is not documented.. 😮‍💨

CommanderStorm avatar Aug 30 '22 22:08 CommanderStorm

So I can use nav.tum.sexy/maps as a source for loading maps? And I should use mapbox instead? I'm not experienced with this and if someone has some experience with for example mapbox that seems to be a sign that its also good for the app. I guess I will use this instead then.

kmodexc avatar Sep 04 '22 18:09 kmodexc

From here I guess it was intended to put the Map inside the Box in NavigationDetailsFragment which is currently a photoView. @PiotrKedra I don't want to break anything there. Can you shortly tell me what was your vision with this Fragment? Otherwise I would write an own activity for my work.

kmodexc avatar Sep 06 '22 12:09 kmodexc

Sorry for the late response. My idea was to do it like it is on the NavigaTUM website, therefore I left there space for including a map instead of this photoView. But putting this feature in separate activity is also good, imo

PiotrKedra avatar Sep 12 '22 16:09 PiotrKedra