"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