Chapter 7. Further Information and Third-Party SDKs

Almost done. I’ve covered most of the information you’ll need to get started writing geobased applications for the iPhone, iPad, and iPod touch. However, there is a lot of great third-party software available and you shouldn’t spend your time reinventing the wheel. If you’re thinking about adding advanced geocapabilities to your application, you should probably look at some of the third-party SDKs and libraries before rolling your own implementation.

Skyhook Wireless

Skyhook Wireless were the first people to develop a commercial software-only location system based on WiFi positioning, GPS, and cell tower triangulation, and when the iPhone first launched, it shipped and used their backend for WiFi positioning. Apple later replaced Skyhook’s database with in-house data. However, the company still remains a force in the field.

SpotRank

Skyhook’s SpotRank service is unique at the time of writing (as far as I know). It can offer predictions on the density of people in a specified area worldwide at any hour and on any day of the week. Predictions are at the US-block level and based on the company’s years of positioning data from real devices doing position fixes to determine their location (see Figure 7-1).

Representative data from SkyHook Wireless’ SpotRank service for San Francisco

Figure 7-1. Representative data from SkyHook Wireless’ SpotRank service for San Francisco

More information about SpotRank, and a link to request a demonstration of the service, can be found here.

Local Faves

Skyhook also offers its Local Faves SDK that allows you to add location-aware features (like tagging and check-ins) and social features (like sharing and raking) into your application fairly painlessly. You’ll need to sign up for a developer account to download and use the SDK, and more information is available here.

GeoLoqi

GeoLoqi is a location startup based in Portland that has an interesting platform based around real-time location tracking and geofenced carrier agnostics messaging backed by their own hosted spatial cloud storage platform.

The easiest way to get started with their SDK is to download their sample application; they’ve got a good guide here, which will walk you through not just getting the sample application up and running (see Figure 7-2), but also integrating the SDK into your own application.

The GeoLoqi sample application running in the iPhone Simulator

Figure 7-2. The GeoLoqi sample application running in the iPhone Simulator

You’ll need an API key to get the sample app up and running. You can register for a free account, which will allow you access to the developer site and the ability to register new applications.

MapBox

If you want to add custom maps to your application, then you might want to look at the MapBox SDK. Among other things, it offers the ability to custom design your own maps, add layers on top of OpenStreetMap data, and display them embedded in your applications while the user is in both online and offline mode. You’ll need an account to get started; more information about their SDK and hosting services is available here. An example application is available on GitHub (see Figure 7-3).

The MapBox example application running in the iPhone Simulator

Figure 7-3. The MapBox example application running in the iPhone Simulator

Bing Maps Control for iOS

If you’d like to use Microsoft’s Bing Maps in place of the native maps provided by the Map Kit framework, Microsoft has provided a native control to allow you to embed their Bing Maps directly into your application, in almost exactly the same fashion as the native Map Kit objects.

Similarly, the Bing Maps Control for iOS provides support for adding placemarks and other overlays to the map, allows the device’s location to be displayed, and provides some geocoding methods.

The Bing Maps Control for iOS can be downloaded from Microsoft. The SDK comes with several example applications. Figure 7-4 shows the LocationMap sample application running on my iPad.

The Microsoft LocationMap sample application running on my iPad

Figure 7-4. The Microsoft LocationMap sample application running on my iPad

You’ll need a Bing Maps Developer Account, which in turn requires a Microsoft Account. You can sign up for both of these here. From there, you’ll need to create an API key, which you can do from the “Create or view keys” item under My Account.

Note

Unlike most other third-party SDKs for iOS, you’ll need to add the Bing Maps API key to your main project Info.plist file rather than placing it inline inside your code.

Warning

While the Bing Maps credentials provided by Microsoft’s portal work fine when your applications are deployed to the device, it seems they do not work in the iPhone or iPad Simulators. If your application is running in the Simulator, it will complain about invalid credentials even if they work when the application is running on the device.

ArcGIS for iOS

If you’re an old school GIS person, you’ll be familiar with ESRI and ArcGIS, and you’ll probably want to take a look at their iOS SDK. It allows you to embed ArcGIS maps and tasks into your application and use services provided by ArcGIS Online and ArcGIS Server. More information about the runtime is available here.

Urban Airship

Known for push notifications and in-app purchasing, the Portland startup also offers a geofenced push notification service known as Segments.

Foursquare

While there isn’t an official Foursquare SDK, there are at least two well-supported iOS client libraries for the Foursquare v2 API available on GitHub. Among them, I’d probably recommend https://github.com/baztokyo/foursquare-ios-api as being one of the better documented libraries.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset