How Azure Maps differs from Bing Maps for developers

Microsoft’s newest mapping service has a deep enterprise and IoT focus

How Azure Maps differs from Bing Maps for developers
Getty Images

There’s a dilemma facing anyone wanting to build a map app on a Microsoft platform: The company currently has two mapping APIs, one that uses Bing, and one that’s built on Azure. They’re very similar, and while Bing Maps has more features, Azure Maps is catching up fast. They use mapping data from different partners, and they have different pricing models. With new partnerships, an enterprise focus, and a growing number of new features, Azure Maps is starting to become a useful option for anyone wanting to add mapping capabilities to a site or service; especially after Google’s recent pricing changes.

Location-aware applications need a few key functions: to search for locations, to display maps, and to route users between locations. While those seem simple enough, those three requirements have their own dependencies that make building out a mapping service a large and complex task. All of that is required Azure Maps to duplicate much of Bing’s functionality, with geocoding, geolocation, traffic, and complex routing algorithms that go beyond basic point-to-point routing. Azure Maps’s fata comes from TomTom, an alternative to Bing Maps’s use of Here.

Azure Maps’s pricing starts with the introductory S0 free tier that offers 250,000 basic mapping and traffic transactions a month, with an additional 5,000 time-zone queries and 25,000 queries across all its other services, limited to fewer than 50 queries a second. Once you move beyond the free tier, low-volume services cost $0.50 per 1,000 transactions (with the geolocation preview costing $0.25 per 1,000 transactions). If you want more than 50 queries a second, things do get more expensive, with the S1 service adding enterprise routing features and satellite imagery, at $5 per 1,000 transactions.

It’s best to start using the service at the S0 free tier, taking advantage of lower costs if you exceed the free monthly quota. The higher-volume S1 service is really only economical for large enterprises making a lot of geolocation queries, where the business sees it worth paying 10 times more per transaction.

Building your first Azure Maps app

To build apps with Azure Maps, you first need to set up an account after creating a Maps resource in your Azure portal. Your account needs to be linked to an Azure subscription, and once assigned it can be linked to an Azure resource group ready to add code and other resources. This adds authentication keys to your account, which you need to use in your application.

Although you can use the service through REST APIs, it’s easier to use the Azure Maps Web SDK (currently, there aren’t any SDKs for UWP or for iOS). The easiest way to add it to your web apps is by loading the SDK JavaScript from Microsoft’s content delivery network as part of your page header. Native apps using the SDK in a web control download it via NPM and run it on a local Node.js instance. If you do that, you need to include a reference to the appropriate stylesheets.

With the SDK loaded, you can display a map by creating a div to host the map control. JavaScript loads the map control into the div, choosing coordinates to center it and setting a zoom level. Maps can be customized easily, with the SDK offering a selection of styles, as well as tools for navigating around a map.

Using Azure Maps with data

Maps are about more than showing locations. Modern mapping tools need to display any type of geocoded data, linking information with the real world. The Azure Maps SDK provides tools for adding your own symbols to a map, as well as adding various shapes and heat maps. All you need to do is bind your data source to the map control, choose the visualization, and the SDK does the rest.

Azure Maps recently moved many of its services to production status, as well as launching new terrain-based mapping tiles. Along with these services, its SDKs for Android and the web have added integration with Azure Active Directory so only authorized users get access to any mapping services you build, reducing the risk of confidential location data leaking.

Native SDKs are an important step forward for Azure Maps. While you can use the web SDK in an app web view, your map code is running at a remove from the rest of your native app. That slows things down, adding a layer of complexity as you switch from Android Java or Kotlin to JavaScript running in your browser control. The new Android SDK for Azure Maps includes a map-rendering surface, as well as integration with in-cloud routing services and traffic alerts.

New mapping services for new use cases

Microsoft is regularly adding new features to Azure Maps, delivering services that complement other Azure features. If you’re experimenting with Azure’s drone services, you’re using Azure Maps to geofence flight areas or using Event Grid to trigger specific actions at specific map locations. Azure Maps’s geofencing capabilities go beyond common scenarios, with options such as offering the ability to build buffers around objects, protecting powerlines or adding borders to sensitive sites.

Another useful Azire Maps feature is a closest point query. This locates the user and then returns a set of results that indicate where the nearest of a set of points are. Those points can be anything: a geolocated database of IoT devices or known physical resources, or the results of a query against a location service. If you’re building an app for, say, a chain of coffee stores, this would be the query you’d use to direct users to the nearest store, along with a list of other nearby stores.

You can speed up this type of query using Azure Maps’s Data Service. Instead of keeping data and mapping separate, with multiple queries across services to handle a location query, you can upload up to 50MB of your own geotagged data into your Azure Maps account. Azure Maps then uses that data for geospatial queries and services, managing geofences, adding custom images to maps, or holding site or device locations.

If you’re looking at adding mapping to your apps, Azure Maps is certainly worth a look. Its controls may not be as mature as Bing Maps, and it does not support as many platforms, but it does have all the features you need. Its pricing is simpler, too, which may well make it easier to choose Azure over Bing as your mapping provider. Even so, it’s not yet time to migrate existing services from Bing Maps to Azure Maps, with Azure’s services more focused on new enterprise solutions and on working with IoT.

Copyright © 2019 IDG Communications, Inc.