Maps are the most popular way to add location features to your website or mobile app. If a user’s whereabouts is important to your application, you’ll likely want to visualize your data geographically. For example, any directory, marketplace, or social product will at minimum need to display nearby results.
For at-a-glance information, see our map APIs comparison, or read on for an in-depth look at the three major areas to consider with map APIs:
- Data and styling
- Supporting features
- Cost and pricing
It’s easy to zero in too narrowly on one of these areas. Read on about each approach, but remember to consider the overall tradeoffs between them.
Naturally a big focus for some is on map data and the styling that determines how it is displayed. Similarly, you may want to customize the styles, an advanced approach that can let you choose colors and highlight or remove certain types of map data.
There are only a handful of providers for worldwide geographic data. It’s a huge job to gather and maintain every road, park, landmark, and other entities. That’s why historically this has been handled by just a few large companies. For example, when Google Maps started, it used Navteq (now owned by Nokia and branded as HERE). Sometime after the acquisition, it switched to TeleAtlas (a subsidiary of navigation company TomTom). While Google has mostly moved on, you’ll find many providers still using one or both of these two data providers.
In addition to the location data companies, some map providers have collected their own data. Most notably, Google Maps has been built on Google’s own data for some time. Between its satellites, StreetView vehicles, user-generated corrections, and other means, Google’s data is now widely regarded as the best available.
MapBox is also notable in its reliance on OpenStreetMap. MapBox supports the long-running community of volunteer mappers, which can often have the most updated cartography, especially in fast-changing locations. Additionally, MapBox is the only provider that lets you bring your own data, in case you have intimate knowledge of a region not covered by others.
The data behind each provider is naturally visualized on the map itself. Though roads, parks, and landmarks are table stakes for maps, some go further. Individual lots, buildings, and even three dimensional structures are included with some maps.
In most cases, colors and what’s visible at each zoom level is predetermined by each provider. However, Google and MapBox each have highly customizable interfaces. There are visual editors for styling, though you’ll need some technical chops to implement either of them.
For non-customizable providers, you’ll want to compare imagery yourself to see if the detail and design meet your needs. Keep in mind that a single provider may have more or less data available in certain regions and at different zoom levels. You’ll want to compare by looking at locations you expect to be most used.
Since the launch of Google Maps in 2005, users expect to see satellite imagery. Users often consume satellite images as a way to augment the data-generated map (sometimes referred to as a “hybrid map.”) Satellite shots are especially useful with apps aimed at hiking and other large outdoor area use cases.
As with the underlying data, you can expect differences between providers. Again, it’s best to view the regions and zoom levels most used in your application.
Google has the head start here, but the differences are less stark. For one, satellites are more common and less expensive now than they used to be. Each provider must still stitch the images together and interpolate the locations.
With modern map APIs, the actual map is just one piece of the experience. You also gain access to an ecosystem of supporting services. For example, you’ll need a geocoder to accept address and other input from users. If you need to provide driving directions, a routing engine may be important.
Certain providers are better in one area than another. When it comes to additional services, you may be tempted to bring results from one provider to another’s map. The reason you’re often adopting an entire ecosystem—a suite of location tools—is embedded in some terms of service. You may only be able to use specific data in combination with its underlying map.
For example, Google’s geocoder (which converts addresses into machine-readable coordinates) requires that developers also use Google Maps to visualize the data. Even though a server can make a call to the geocoding API, the result needs to be displayed client-side.
More open-friendly options, such as MapBox, may be more willing to allow results from different services. But you’ll need to check the terms of service for both providers when attempting to mix and match.
Other than a map itself, geocoders are the most common location services. Typical geocoding converts an address (or other human-readable location) into something that can be interpreted by machines. Typically, the result of a geocoder is a pair of coordinates—latitude and longitude—that describe a location on earth.
As with other map data, you’ll get different results for geocoders based on the provider and the region. Typically, Google’s results will outshine others, based on the foundation of location data and user interactions it has available. Try out a few known search terms and see how each performs.
Reverse geocoders, as implied by the name, go the opposite direction. Given a location, often received from the user’s GPS, a reverse geocoder will return the nearest address, business name, or other landmark. Often, the interface for a reverse geocoder (function, API, or SDK) is the same as the forward geocoder.
One way to get better user input for searches is to help them with search suggestions. Google made this famous in its web searching product, and comes through for maps, as well. But other providers have solutions to fit what you’re after.
Similar to geocoding, which relies on addresses, businesses are often the even-more-human-readable name behind a place. That’s where Place APIs come in.
There are two primary use cases for searching places:
- You know a place name and use that to look up its location
- You know a location and want to find places nearby
Additionally, you may want to search on particular facets, such as the type of business or whether the business is open now. This type of search may sound familiar from your smart phone’s built-in mapping app, or through other services such as Yelp.
You’ll find solutions for this within Google, MapBox, and Bing mapping suites. These are available as either part of the map API/SDK, or via a separate service.
Additionally, you can find outside Place APIs, such as Foursquare and Factual.
For years, the Google Maps API was completely free. There were paid versions, but those early options were focused on access to support, reliability agreements, and some flexibility in the terms of service. However, since 2011, Google Maps has had a public paid tier, required of heavy users.
As a startup, MapBox always provided a paid plan. Bing Maps has enterprise pricing, which is not shared publicly.
As of the most recent updates to Google Maps pricing, the most generous free tier is available from MapBox, which provides 50,000 views per month without a charge. Google’s 28,000 views per month is still enough for most of the millions of websites that use the search giant’s mapping service. Bing pricing is harder to find, but appears to allow 125,000 views per year.
You’ll also want to consider costs beyond the service itself. For example, you’ll want to consider the developer experience of each API, as that will determine how quickly you’ll be able to get up to speed.
Further, you may need to connect some features (such as place auto-suggest) to the map for certain providers, where-as others support the feature natively. And customization options are a two way street: on one hand, changing underlying styles is powerful, but on the other, it takes more developer time than going with default styles.
Check out our map APIs comparison to see how each sits on developer experience, mobile options, and our quick takes for why to use each provider.