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.
1. Underlying Map Data and Styling
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.
Where Does the Map Data Come From?
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.
Primary Map Styles
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.
Satellite Maps
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.
2. Additional Location Features Such as Geocoding
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.
Mixing and Matching Often Prohibited
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.
Geocoding and Reverse Geocoding
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.
Geocoders can come in a few forms: a JavaScript function built-in to the mapping API, a helper function within a mobile SDK, or a separate API of its own.
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.
Auto-Suggest Place Names and Addresses
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.
Google and MapBox both have auto-suggest (also called Autocomplete) built-in to their JavaScript APIs. Bing just recently launched an Autosuggest REST service, but does not appear to have it available via JavaScript.
Business Listings and Place APIs
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.
3. Google Maps Pricing and Alternatives
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.
What’s Available for Free?
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.
The Complete Cost of Implementation
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.
Compare Map APIs in One Place
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.