Yes, the Windows UWP Map SDK is impacted by this retirement. The UWP Map control is a Windows API that uses Bing Maps services and is technically tied to the Windows 10 lifecycle (Windows 10 end of life is next year). Nearly everyone using the Windows UWP SDK have a free Bing Maps account and not a licensed account. These accounts will be retired in June of 2025 (the 2028 date is for licensed accounts but likely would not apply to the Windows SDK since it is tied to the Windows 10 lifecycle).
Bing Maps customers are generally being pointed towards Azure Maps, however Azure Maps, like Bing Maps does not have a Windows SDK of its own but does have geospatial services. The Windows SDK uses a lot of specialized 3D data services that are not commonly available elsewhere, so reproducing that 3D experience is unlikely. If you only need 2D flat maps, there are some options. 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.