iOS Development: Apple Maps vs OpenStreetMaps

Displaying information on the map is often required when developing applications. That is why detalization and accuracy are very important. Also, having an offline access to the cartographic information when using your mobile phone may become an issue. All possible solutions to the stated problem will be discussed below.

Apple maps: drawbacks

The fact that Apple has replaced the time-tested Google maps  with their embedded  map service has put into rage a lot of its users. It has been criticized for numerous errors and poor map detalization million times. Since that time some errors have been corrected, but the problem of detalization is still relevant for USA , Western Europe. and some Asian countries. For example, in Russia, even in Moscow, according to Apple there are no buildings, and some cities look like cross-roads in the fields.
Another drawback of Apple maps is the difficulty to use it in the offline mode. The system can display the cached data if you do not have internet connection. However, it displays only those regions that a user viewed before. And there is no guarantee that one day the operating system of your iPhone won’t delete everything that was stored in it. It would be unpleasant to get into such a situation when travelling to some distant place where there are problems with the Internet or expensive roaming charges.

The alternative - OpenStreetMap

OpenStreetMap is an open project that is aimed at getting  a free detailed map of the world. The project is constantly updated and improved by volunteers around the world. Any registered user can make changes and additions to the map. This ensures users high accuracy and detalization of cartographic data.
To illustrate our point, let’s compare several locations as shown on Apple embedded Maps and on OpenStreet Map Service

Pyongyang, the Capital of North Korea

 

Pyongyang-Apple.png

Apple Maps

Pyongyang-OSM.png

OSM

 

Washington, Unites States

Washington-Apple.png

Apple Maps

Washington-OSM.png

OSM

Barnaul, Russian Federation

Barnaul-Apple.png

Apple Maps

Barnaul-OSM.png

OSM

There is no doubt that OSM is much more convenient and accurate in maps detailization. There are several ways of how we can use them in our applications.

Using OSM maps when developing iOS-applications

You can use the OSM maps in your project in several ways. We will consider the integration and use of maps with the help of MapBox iOS SDK. MapBox iOS SDK is a toolset for creating mapping iOS applications. Using it is like working with a standard MapKit framework. But it has  a much greater flexibility in terms of visualization, customization and offline use. Moreover, this SDK is an open source. MapBox SDK can be attached to the project in several ways. You can find the description on the official website. Choose the most suitable for you. After connecting the SDK, we need to create an instance of RMMapView initialized with the source point of RMOpenStreetMapSource class in order to display OSM-map.

As a result,  a well-detailed map of the world can be seen in our application. It was very simple, wasn't it?

Pre-caching and offline mode

Now let’s discuss how to help a user to download a map region in cache in advance and use a map if there is no Internet connection. First, we will add a UIProgressView  to the screen to display the progress of a map downloading process and two buttons – the load button and the shift mode button. Then we transmit our own RMTileCache object into the map with the one year cache lifetime, for example.

To begin asynchronous data loading and progress tracking we will implement a processing method of tapping the button "Download" and support RMTileCacheBackgroundDelegate protocol. For example, we will download a map of Pyongyang which is displayed as a simple sign in the field and nothing around on the Apple's maps.

To switch the mode we use the property retryCount in RMOpenStreetMapSource. For the offline mode we set download retry number equals to 0, and for online – to return the default value that equals to 3.

Finally the user can pre-download the map of the city that he is going to visit. After that he just needs to switch the application to offline mode.

Result

As we have seen, there is an excellent alternative to Apple maps which is quite easily integrated with applications. And if you implement an application designed for use in areas with insufficient Apple maps detalization, or it's unacceptable for you to have an offline mode, so when searching for Apple maps alternatives think about using OpenStreetMap and MapBox SDK.

Links

http://www.openstreetmap.org

https://www.mapbox.com
Alexander A.
November 20, 2017
related
iOS 11.4.1’s Main Security Feature has Already been Hacked Business Automation: Painless Ways to Cut Costs and Increase Your Enterprise ROI Clutch Congratulates Magora - an App Development Leader in Multiple Industries
recent
iOS 11.4.1’s Main Security Feature has Already been Hacked Business Automation: Painless Ways to Cut Costs and Increase Your Enterprise ROI Clutch Congratulates Magora - an App Development Leader in Multiple Industries
recommended
Everything You Want to Know About Mobile App Development App Development Calculator Infographics: Magora development process
categories
News Technologies Design Business Development
Logo Magora LTD
close
Get in touch
Do you agree to the personal data processing?


Logo Magora LTD
close
Thank you very much.

Your registration to the webinar on the 24th of May at 4 p.m. GMT was successfuly completed.
We will send you a reminder on the day before the event.
Magora team
Registration for a webinar

"GDPR compliance: Workflow Automation"
Date: 24.05.2018 Time: 4 p.m. GMT
Do you agree to the personal data processing?