UWP apps using MapControl per Bing Map Enterprise Free going to Azure maps

Karhu Koti 36 Reputation points
2024-05-23T08:41:55.02+00:00

Per the announcement:

Bing Maps for Enterprise is deprecated and will be retired. Enterprise account customers can continue to use Bing Maps for Enterprise services until June 30th, 2028. Free (Basic) account customers can continue to use Bing Maps for Enterprise services until June 30th, 2025. To avoid service disruptions, all implementations using Bing Maps for Enterprise REST APIs and SDKs will need to be updated to use Azure Maps by the retirement date that applies to your Bing Maps for Enterprise account type.

I am unclear about the details - can you please answer:

  • for my UWP app and users running the app, does the current MapControl continue to work?
  • do I need a different key ?

Thanks in advance.

Azure Maps
Azure Maps
An Azure service that provides geospatial APIs to add maps, spatial analytics, and mobility solutions to apps.
629 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. rbrundritt 16,066 Reputation points Microsoft Employee
    2024-05-23T18:27:32.9533333+00:00

    The UWP Map control is actually a part of the Windows 10 SDK and not a Bing Maps specific SDK (part of the reason the docs for this are in the Windows docs and not with the rest of the Bing Maps docs). The Bing Maps team provides the services this SDK uses, and those services will of course be impacted by the recent announcement. So, I’m still digging around to find out which team actually would own the roadmap/messaging around that. I vaguely recall when this SDK was originally announced some messaging around it being supported until 2025 which would align with this announcement. Seeing how it was originally built for Windows 8 and 10, I could see this being tied to the Windows 10 lifecycle which reaches an [end of service date in 2025].

    Looking into the [WinUI SDK on GitHub] there is a long thread on this topic and it looks like they went a different route for maps rather than porting/wrapping the UWP map control. From the Azure Maps side of things, I would not expect them to create a Native Windows SDK anytime soon as the native Windows SDKs that used Bing Maps have always had fairly low usage and there are many other options for adding maps to a Windows app. If you want a native map control, there are several great open source options:

    • Maps UI – Fairly popular open source Native Map SDK.
    • MapLibre Native – MapLibre is the underlying rendering engine of the Azure Maps Web SDK and also the recommended control to use for iOS and Android so this is a good option to consider. Until recently there wasn’t much work around Windows but it looks like this has changed. Microsoft is a sponsor of the MapLibre community.
    • XAML Map Control – I just came across this one and it appears to have some API interface alignment with the UWP map control. I don’t know much about it, but worth a look.
    • GreatMaps – An older open source project focused on WPF and WinForm apps.

    Another option is to use the Azure Maps Web SDK via a WebView. The Azure Maps Web SDK will likely always get new features ahead of any other Azure Maps UI control as it’s generally easier to built and test out things via a web SDK, and that is where the bulk of the user traffic flows through in most map platforms. I have done this many times in Windows apps with good success. I even made a wrapper a few years back for the whole Azure Maps Web SDK API interface that worked in UWP and WPF apps. I might dig that up and see about migrating this to .NET Maui or WinUI. Now that I think about it, perhaps I should see how much of the UWP Map SDK capabilities I could recreate via a wrapper, although I rarely used that SDK as it didn’t have all the features I needed for my apps, so that might not be the best use of my time. I have been helping out on an enhanced WebView control for .NET Maui that would make it possible for more advanced scenarios when wrapping the Azure Maps Web SDK, like the ability to run offline and reference local tile layers. So that might help address some of the concerns developers have around wrapping a web SDK. Note that the Web SDK uses WebGL for rendering (native) and from a performance perspective I’ve always found the Web SDK to be faster than any native Maps SDK I’ve come across, so that shouldn’t be an issue.

    There is also the .NET Maui Map control however this is simply a wrapper around the default native map control on each device. iOS would wrap Apple Maps, Android would wrap Google Maps, and Windows would wrap the UWP map app (which brings us back to the current issue). This control has very limited capabilities, so it’s likely not a good option to begin with.

    1 person found this answer helpful.