This documentation is no longer actively supported and may be out of date. Going forward, please visit and bookmark our new site (https://docs.phunware.com/) for up-to-date documentation.
Maps-ADA Sample App Developer Overview (iOS)
This document gives an architectural overview of some of the most important classes in the Maps-ADA iOS sample application.
The main view controller of the application. It holds several ways of searching through points of interest and also provides the routing experience for the user to follow once the route has been selected. Primary use of the PWMapView can be found in this class.
This category on the MapViewController configures and controls the segmented controls that sit above the map itself. It features two primary states: discovery of points of interest/routes, and routing. Segments for discovery are "Map", "Directory", and "Around Me", whereas the segments for routing are "Map" and "List".
This category on MapViewController configures the search bar that sits above the segmented controls, as well as controlling the results of the search displayed in a table view.
This NSObject controls the content displayed in the "Directory" segment.
This subclass of DirectoryController controls what is displayed and selected in the routing table view, which can be accessed via thisbutton. That button can be found in the top left of the screen when on the "Map" segment and not currently routing.
This subclass of DirectoryController controls what is displayed and selected in the "Around Me" segment's table view. Uses the PWMapViewDelegate to display points of interest within a radius around the current user location, ordered by proximity.
Shows the user a summary of the selected route and all the route steps, accessible from the Point of Interest Details view. Also has a preview of the route on a PWMapView that can't be interacted with by the user.
Displays the list of instructions for an in-progress route. This view leverages callbacks from RouteAccessibilityManager to give a non-sighted VoiceOver user instructions to traverse the route. These include orientation updates (i.e. "Turn to your 10 o'clock"), current instruction updates, and distance remaining updates.
Uses updates to orientation, location, and current instruction notifications to produce VoiceOver messages that are passed via delegate at the appropriate time. Most accessibility work for traversing a route is done within this class.