Turn-by-turn navigation in building

Hello everyone,

I am planning to build an turn-by-turn navigation app for 8-floor university building.


I have a floor plans but I don't which kit or software should I use to build the navigation. Everyone provides navigation using Google Maps or Apple Maps, but I would like to build my navigation using my own code and I would need to edit the floor plans somehow, wouldn't I? I plan that my navigation will find the user using BSSID of the routers which are located on the corridors.


Can you please tell me if Model I/O would help me to build this app? If not, what would be the best kit or software to do it?


Thank you

Accepted Reply

"MapKit does not support layers, such as 9-floor building to create a turn-by-turn navigation." MapKit supports arbitrary overlays, so that you could display a different floor map depending on the user's elevation or the currently detected wifi networks.


Also, keep in mind that location services uses more than just the GPS. From the documentation:

"The framework uses all available onboard hardware, including Wi-Fi, GPS, Bluetooth, magnetometer, barometer, and cellular hardware to gather data."

I'm not going to make any claims to how well CLFloor or the other values actually work, but it's worth checking to see if it works in your situation before doing it on your own. But there are reasons why location services asks you to turn the wi-fi on when. 🙂


On the other hand, keep in mind that iOS is really stingy about giving out wifi information (things like signal strength values). So your "turn by turn" navigation is going to be a bit lacking in telling the user how far to travel or which direction to go unless you get supplementary information from the location services (such as which direction the device is pointing or which direction the device is moving).


Disclaimer: I'm not at all current on the state of the art for calculating pathing from Point A to Point B through space (or directions from the south building entrance to room 746).

But if you have a model of your building geometry, and you can figure out the path for user to take, you should check to see whether you can provide the directions through the map services: https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/LocationAwarenessPG/ProvidingDirections/ProvidingDirections.html#//apple_ref/doc/uid/TP40009497-CH8-SW5

Replies

Locating the user based on the SSID of the wi-fi seems like it would be pretty awful location accuracy, especially compared to something like the Maps apps walking navigation. You really should be working with location services, instead. Or at the very least, using location services in addition to the network IDs.


It'd be a lot less work if you used MapKit, set up an overlay for each floor, either let the user manually switch which floor was displayed or switch floors based on elevation, and worked from there.

Thank you for the response. It would be perfect to use SSID because our university has routers every 10 meters and separately in every room, but finding a user in the building without GPS or iBeacon is anyway quite difficult. And...the problem is that MapKit does not support layers, such as 9-floor building to create a turn-by-turn navigation, or does it?

"MapKit does not support layers, such as 9-floor building to create a turn-by-turn navigation." MapKit supports arbitrary overlays, so that you could display a different floor map depending on the user's elevation or the currently detected wifi networks.


Also, keep in mind that location services uses more than just the GPS. From the documentation:

"The framework uses all available onboard hardware, including Wi-Fi, GPS, Bluetooth, magnetometer, barometer, and cellular hardware to gather data."

I'm not going to make any claims to how well CLFloor or the other values actually work, but it's worth checking to see if it works in your situation before doing it on your own. But there are reasons why location services asks you to turn the wi-fi on when. 🙂


On the other hand, keep in mind that iOS is really stingy about giving out wifi information (things like signal strength values). So your "turn by turn" navigation is going to be a bit lacking in telling the user how far to travel or which direction to go unless you get supplementary information from the location services (such as which direction the device is pointing or which direction the device is moving).


Disclaimer: I'm not at all current on the state of the art for calculating pathing from Point A to Point B through space (or directions from the south building entrance to room 746).

But if you have a model of your building geometry, and you can figure out the path for user to take, you should check to see whether you can provide the directions through the map services: https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/LocationAwarenessPG/ProvidingDirections/ProvidingDirections.html#//apple_ref/doc/uid/TP40009497-CH8-SW5