The new maps in iOS 6 have attracted a lot of criticism, mainly about the detail of the cartography, the accuracy of the data and the disappearance of a street view. I’ve had a chance to experiment with the new Map Kit and Location Services APIs this week and I’ve found that, despite all the doom and gloom, there are still some nice features to look forward to when the quality issues are sorted out.
I’ll take a look at some of the new features in Map Kit this week (it needs all the love it can get at the moment) and turn my attention to Core Location next week.
Zooming and Rotating
Zooming programmatically in Map Kit has always been a hit and miss affair. Because the map tiles were rendered from static images prior to iOS 6, you’d often find that the map region you set to zoom the map ended up with a border. Maybe you wanted a border, but you tended to get a larger one than you bargained for. Essentially it was having to snap to a zoom level that it had map tiles for. On the restricted screen size of the iPhone, this was particularly noticeable.
With iOS 6 though, the cartography is rendered more dynamically and when you ask for a given map region to be displayed, that’s what you get. It makes it much easier to display your chosen map region, rather than a postage-stamp version of it.
Another benefit of the more dynamic rendering is that map labels can be scaled (check out the Settings app for Maps preferences on iOS 6) and they are displayed the right way up even when you orient the map using the compass.
(For those of you not familiar with the Irish Sea, east is at the top but the map labels are still the right way up).
Prior to iOS 6, launching the Maps application was achieved by stringing together a URL to send to Google Maps. The main reason for doing this was to get directions to a place, but also to take advantage of the other in-built features of maps, like address book integration.
With iOS 6 though, Apple Maps is launched using an Objective-C API. Apart from being more structured, this also gives more control over the map and annotations that are displayed. You can feed it the name and address of a company for example, and Maps will display a pin annotated with the details you specify. You can also add additional details from your app, like website addresses and phone numbers.
In addition, the new API gives detailed control over map region, general annotations like traffic, and choice of map type; standard, satellite or hybrid.
As standard, Maps provides directions for driving and walking. A new feature in iOS 6’s Apple Maps allows third-party apps to provide routing information as a pluggable service. For transport operators, travel agents and the leisure industry, this provides some really exciting opportunities for marketing services in a very focused way. Imagine an airline being able to string together flights, car hire and stopover hotel, all triggered from two points on a map.
Once the apps start to hit the App Store, this is going to be great for us as users too, especially those of us who travel a lot and have no idea where we are going!
So, despite all the negative publicity there are some nice new features in iOS 6 maps that have some great potential for your location-enabled apps. You can learn more about Core Location and Map Kit on Learning Tree’s Building iPhone® and iPad® Applications: Extended Features course.