Which map SDK is the best option for a mobile app?

Google Maps, Apple Maps, OpenStreetMaps, Mapbox, Yandex.Maps or Baidu Maps
There are quite a few very strong competitors among mobile map SDK vendors and each one has it's certain benefits. Despite the fact that they may seem to be doing the same thing, each map vendor managed to be doing something better than competitors and this is what I want to talk about today. When choosing the map for your mobile app, not just go with Google Maps, but take a bit of time to investigate, as most apps which have maps are basically map-based (map is the central thing for a mobile app) and thus directly impact the user experience.

Here I want to list some of the options we've used in our projects and talk about the benefits each vendor has, along with week points.
best coverage and details
Google Maps
It's good for:
  • Basic integration for Android. If you just need a simple map for Android mobile app. It will be the easiest and the fastest option out there.
  • Best coverage and details on a map for global projects. Things have been stable here and despite the fact that all major map vendors are trying to compete, Google still has the best coverage worldwide (few exclusions, however, see below).
  • Basic objects on a map. Until there is nothing fancy, Google Maps SDK will work for your app
  • Basic in-app navigation with traffic conditions data. Since Google Maps app is widely used for navigation, they provide a rather reliable data, though if you want to build a service around custom traffic jams data or navigation - Mapbox is a better option (Waze is one amongst who use them, for example)
  • Integration with Google Places to list details about businesses around. And it is true to say that almost every business will list itself there cause it's commonplace for people to look for restaurants, shops, entertainment, etc.
You need to check competitors if:
  • You need basic integration for iOS: Apple maps are easier to integrate on iOS.
  • You're aiming at the Russian market. Yandex is the definite leader there and has the most detailed maps SDKs for Russia.
  • You're aiming at the Chinese market. Similar to Yandex, BaiduMaps is a leader there (and in fact a clone of Google Maps).
  • Offline maps. Google has been promising to give access to offline maps functionality for third party use (as they gave to Google Maps app), but it did not happen yet. Use Mapbox or OpenStreetMap instead
  • Advanced and custom navigation. Mapbox is a way ahead of Google for that
for iOS apps
Apple Maps
It's good for:

  • Basic integration for iOS apps. Being a native tool for iOS it's also fast and easy to integrate into any iOS app.
You need to check competitors if:
  • Sorry to admit Apple, but for everything else, there are better options.
custom map layers
It's good for:

  • Offline maps.
  • Custom map layers (tiles). If your service is about the map itself (like, for example, you a unique ocean map details based on coordinates), this is your option. You can either choose from existing options (like YandexMaps or Google for example), but still use the features of Openstreetmaps
You need to check competitors if:
  • Basic integrations. It's relatively complicated to work with Openstreetmaps, as it's an open-source project and it may lack some docs, tools or explanations.
flexibility to build custom routes
It's good for:

  • Your app is for a logistics service and you need the flexibility to build custom routes. Mapbox has a lot of options, as well as constantly improve.
  • Custom objects on maps. It's way easier to place any kind of objects on the map as custom markers. Other maps also allow that, but Mabpox gives a lot of flexibility and options for apps that heavily use objects on maps.
  • Offline maps. This adds benefits to navigate offline which could be handy for routes outside of cities.
  • Augmented reality-based on Maps. Yeap, they offer a lot of tools for that already (while Google Maps is just promising them) and the sky is the limit.
  • You want your project to stand out. There are so many apps which are using Google Maps that users are already getting tired of that. Mapbox will make your project look different, to the extent that Mapbox will make your app look more professional.
  • The most developer-friendly. There is a common joke among Android developers that Google dev documentation is often ambiguous and unclear. Compared to it, Mapbox has done a great job. Their documentation is comprehensive and clear, with lots of usage examples in the form of sample apps.
You need to check competitors if:
  • Details on map. Though Mapbox offers quite good details for the US and most EU countries (which will be enough for most of the projects), such giant as Google Maps wins this battle.
projects on the Russian market with basic integrations
It's good for:

  • Is a definite leader for Russia and projects on the Russian market with basic integrations since it has the best coverage there. On the other hand, Google maps are also quite popular even on this market and may be more convenient for your app.
You need to check competitors if:
  • For global projects, it's Google Maps and Baidu for Chinese.
  • If you want to build custom polygons (draw something on map) or put various objects on a map, and you still need the map to be detailed in Russianinyou can use OpenStreetmMaps with YandexMaps maps layer on it. YandexMaps promises to add these features in the future, so it's better to double-check if it has been already released.
  • If you care that your data is been shared with FSB and other Russian governmental agencies. That's exactly as it sounds, any of your data will be open to the Russian government by default. If you care about privacy, Mapbox would be a way more reliable option (there are still some open questions to Google in terms of privacy).
projects on the Chinese market
It's good for:

  • Is a definite leader for China and projects on the Chinese market.
  • It basically the only option for the Chinese market, as no other maps vendor have valid and accurate location data in China. Their government has intentionally been banning other map services to get details due to security reasons.
You need to check competitors if:
  • You're looking for your mobile app to show good details on the map outside of China.
  • Any complex map-based projects. BaiduMaps is basically a clone of GoogleMaps (similarities are noticed even on the login page, being unique is definitely not a priority for Baidu), but they are always a couple of steps behind.
  • Same as with YandexMaps, don't expect privacy here. All your data is open for Chinese government by default and they will decide what to do with it.
  • Chinese knowledge is needed because they don't even provide English documentation... Of course, you'll find some workarounds and examples on non-official websites but it won't be easy or fast if the developer hasn't gotten any experience with it yet.
This is just an overview of the main features to help you start looking into details of each option. Feel free to RESERVE A CALL with me so I could share more use cases for each of the options for the map in a mobile app and help you choose the best one for your project! A lot of things are left unsaid and I'll be glad to share them with anyone asking!
Stepan Radiboh
CEO at CookieDev
Made on