Many of the numerous services available via apps require location data. If you want to include a map in your app, you don’t need to reinvent the wheel and make it from scratch. Instead, choose the best pre-existing mapping tool for your project.
Let’s say, for example, that you’re making a system for people who are looking for ways to buy medication. First, you will need a map which shows all the pharmacy locations with their opening hours and links to their websites. Second, you will need turn-by-turn navigation to create routes to users’ chosen facility. Third, you will need a high level of adaptability: all the information presented on the map has to be modifiable in order to keep users up to date.
So what are your options and how you should view the Mapbox vs Google Maps battle in the context of your mobile solution?
Google Maps is probably the first app that comes to mind when thinking of mapping services. Lots of location-based products are powered by this service. However, its predominance doesn’t mean that it’s flawless. In fact, many businesses are switching to API alternatives to Google Maps, especially after a sharp rise to the price of the latter.
Mapbox is among the most solid alternatives to Google Maps. Even though Mapbox possesses a market share of only 3.56 per cent, we expect this figure to grow. It’s hard to beat the dominance of Google overnight, after all, there are more than a million applications, serving different industries, that integrate Google Maps. In contrast, Mapbox has slightly over 45,000 clients. But it is revealing that many major Mapbox clients, starting with Foursquare in 2012, switched to them as to the best alternative to Google Maps.
Here are some of the key questions to ask yourself before choosing a mapping provider:
Some regions, for example, in Russia and China, are poorly represented by Google Maps. There’s a collaborative project called OpenStreetMap bolstered by a community of volunteers who add information about the streets they visited. They are not concerned about highlighting commercially profitable points on the map but are devoted to creating the most precise map possible.
Due to its very nature, OpenStreetMap can give more accuracy and details in some parts of the world. Many companies are switching from Google Maps because they’re looking for more precise data, and Mapbox, which collects geodata from OSM, could be their platform of choice.
Any location-aware application needs, before anything else, straightforward map data. It should contain enough detail and be really easy to use. The more light-weight and modifiable it is, the better.
Your app might also benefit from having several variations of the map style. Both Google Maps and Mapbox offer satellite imagery and street view, which is quite helpful for hiking purposes, for example. Mapbox also offers users the choice between a dark and light style.
Besides the map data, your application might need these features:
It can be incredibly annoying to users when an app stops functioning the moment they lose internet connection. With respect to this issue, many services have been working on expanding the boundaries for offline users.
Disappointingly, there’s no offline mode in Google Maps’ API. It has been available in its brand app since 2015, but is only applicable to the app itself and not the API designed to integrate into other products.
Mapbox offers more flexibility regarding its offline mode. Applications built using their SDK can create and manage custom offline maps. Mapbox also offers several ways to reduce the offline download size, which might be handy for services targeted at users with low internal storage.
Whether your app is aimed at facilitating navigation for everyday users or boosting a transportation business’ smooth operation, it is essential to fill the map with locations your users need.
Sometimes, there is too much geodata a an app project has to deal with. When there are too many markers on the map they can overlap and distract. To make a map usable, you need to provide powerful geoclustering. You can arrange client-side and server-side clustering, note that the former option is suitable for only a small amount of data.
Mapbox ported a clustering library called Supercluster for both Android and iOS devices. It’s based on greedy hierarchical clustering and spatial indexing. Google Maps also has a marker clustering option but with fewer functions for the styling of clusters. The general problem, though, is that all these solutions are made on the client side.
Client-side clustering requires downloading all the data. This way, all the clusters are updated every time the map is rescaled or moved. At MadAppGang, we utilised server-side clustering while working on theAtlasproject for a major shipping company. Since there was no ready-to-use library, we developed our own component for clustering geopoints in Golang. As a result, we built Gocluster, a library for geospatial point clustering which works faster and uses less memory space.
If your app needs to provide directions or track the route, you will need navigation. Google Maps’ API doesn’t include such a feature. Some big companies like Uber agreed on a personalised package and Google Maps enabled a turn-by-turn navigation API for them. For such an API, Uber paid approximately $58 million within two years. Saying that is excessive doesn’t even begin to describe it.
Looking for affordable and efficient navigation for our appAtlas, we went with Mapbox because it offered such a feature. The Directions API enables point-to-point navigation for different types of transportation, while the Mapbox Geocoding API makes for smooth place searches which include automatic suggestions.
How adaptable your map should be depends on the type of the product you’re making. Most mapping services offer a complete solution which is fine until you need to add objects or roads and customise the map to keep up with your needs.
Again, with Atlas, we chose Mapbox because we needed a highly modifiable map. Mapbox allows you to change fonts and colour schemes, as well as add or hide additional features such as terrain information. Mapbox Studio also allows developers to accommodate visualisation layers to their own needs. The service is unique in that it lets developers add their own data about obscure regions.
Google Maps’ SDK does provide some level of flexibility as well. You can add markers, ground overlays, and info windows. You can also change the style of features and customise your markers. It is a bit trickier to manipulate than Mapbox’s API though. Despite offering these customisation functions, Google Maps still forces the use of the default base layer, meaning that editing the features is not that easy.
Since Google Maps can profit from the boosting of certain social places and venues, the service is beyond competition when it comes to users interested in exploring restaurants, shops, or museums. To catch up, Mapbox even hired a former Google Maps executive,Andrew Chen.
Some apps don’t require additional complex features such as turn-by-turn navigation. Instead, they may need to pull out all the stops in regards to enhancing social experiences.
For instance, adding geotags on Instagram is now a key part of marketing strategies for many brands who want to engage local users. Mapbox’s clients Snapchat and Tinder integrated maps to enable new social features inside their services: both Snap Map and Tinder Places utilise geodata in certain locations and link this to in-app activities.
The whole point of social apps is about creating communities and connecting people with brands, services, and each other. Thanks to map integration, these applications can up the thrill level for users and give more tools to marketers.
Even regardless of the functions enabled by the service, price can always be a deal breaker. The recent increase to Google Maps’ API pricing put its popularity at threat. For smaller sized projects without an enterprise-level contract, this move by Google will probably serve, if it hasn’t already, as motivation to search for alternatives.
Before Google Maps raised the cost for dynamic maps API in 2019 from $0.5 to $7 per 1,000 loads, Mapbox had more limited free usage. Now, the latter still offers up to 50,000 map views per month for free and every 1,000 loads over this costs $0.5. Such a vast price disparity attracts people to take a closer look at the Mapbox API. The provider also has custom pricing for enterprise volumes, while its free plan includes (apart from the 50,000 monthly views and 50,000 monthly active users) 50 GB of tileset storage and 5 GB of dataset storage.
Note that when considering Mapbox pricing vs Google Maps’ pricing, you will need to take into account any costs for the developers’ work implementing an API and customising the maps.
Google Maps and Mapbox are the most solid options currently, but there are other competitors. First of all, there are mapping solutions crafted for certain operating systems including Mapkit for iOS. BINGMaps and HEREMaps were previously used in Windows Phone and now offer SDKs for both iOS and Android.
Besides these, there are mapping services for particular purposes or areas, such as Amazon Maps for Amazon devices or Baidu functioning in China, which includes all essential functions and support 3D maps, fluid zooming, or even allows users to look inside certain monuments and buildings. There are also open source map APIs and libraries, such as Leaflet, which you can integrate into your project. Separate solutions for some kinds of map imagery, including Mapillary for street view, are out there for consideration as well.
Your choice of the best map API should be grounded in the type of service your app will perform. Visualise your end users and the situations they will facilitate with the help of the app, then reach out to a team of developers eager to make such a product. At MadAppGang we have particular expertise in navigation app development so please don’t hesitate to contact us if you’d like to discuss an idea you have.
28 May 2019