Develop source code that is fully compilable into a demo app that provides core functions for an iPhone GPS based app (utilizing the 4.3 SDK & Target) that enables the user to discover street names and businesses in a very tight geographical region (see details for more info)
## Deliverables
Use XCode 4.3 to create a base SDK 4.3 (and target 4.3) application for the iPhone that will provide the following functionality. Please note that the deliverable is source code that must compile the application. You may make use of MapKit (or other free online resources, if I OK it first) Also, all GPS code must be placed in either a singlton class or a view controller (and NOT in the AppDelegate. The AppDelegate may call code from other classes, but the GPS functions cannot be integrated into the AppDelegate) I will retain all copyright and trademark rights to the source code and demo application and reserve the right to use the code in other products.
1. Create a view with a textview at the top and several buttons (described in the other numbered items below) at the bottom. The TextView will be used as an output area for each item listed below. The view should occupy all space not use by the buttons.
2. Create a button labeled "Current Direction" which, when pressed, replaces the text in the textview with the direction the back of the device is currently facing while being held normally. In other words, if someone is holding a phone in their hand in front of their body, which way is the person facing. This should be North, Northeast, East, Southeast, etc.
3. Create a button labeled "Current GPS Coord" which, when pressed, replaces the text in the textview
with the current GPS coordinates of the device.
4. Create a button labeled "Current Address" which, when pressed, replaces the text in the textview with the nearest street address to the device. In other words, what street address could the user assume they are at.
5. Create a button labeled "Next Cross Street" which, when pressed, replaces the text in the textview with the names of the streets of the closest intersection in the direction the device is facing if an intersection and the approximate distance (in yards or meters depending on the locale settings) to the intersection.
6. Create a button labeled "Here" that, when pressed, gives any information available about the building the device is in or next to. This should be limited to buildings on the current side of the street where the device is at.
7. Create a button labeled "Here" that, when pressed, gives the name and business type (e.g. restraint, bank, etc if available) about the building the device is in or next to.
8. Create a button labeled "Around here" that, when pressed, gives the names and types of businesses (if info is available) about the other buildings on the same side of the street for the current block or 150 yard/meter diameter.
9. Same as #8, but label the button "Around there" and have it list the names of buildings on the opposite side of the street for the current block or radius