Bing Maps Deprecation
Is your feature request related to a problem? Please describe. On June 30, Microsoft disabled the ability for users to generate new Bing Map keys. Existing hyperlinks that pointed our users to create a bing Map key would be redirected to the Url above, recommending migrating to Azure Maps. Existing Bing Map keys will continue to be supported until June 20, 2028, after which the service will be shut down (as explained in Microsoft's deprecation notice).
I'll highlight two components in core that make use of Bing Maps, and the effect of the deprecation:
- BingLocationProvider: Azure Maps has the same feature available, with some slight differences in the response body of the new endpoint. We can create a new AzureLocationProvider to support the same functionality.
- BingElevationProvider: Azure Maps deprecated their elevation API as of May last year, and there doesn't seem to be an easy way to replace that. This might warrant more discussion on alternatives.
Describe the solution you'd like
-
In 4.8 or 4.9, depending on how quick the PR moves, we will flag relevant APIs and components that make use of BIngMaps as deprecated, without modifying the existing default behavior.
-
We need to reenable the AzureMapsLayerFormat, revisit core's ability to support and use AzureMaps, without modifying the existing behavior of fetching Bing Maps for now. In 5.x, we can look to migrate to another map tile imagery provider, we do have 4 years before our hand is forced...
Based on the attached PR, has our approach altered to where we want to be more agnostic from the core library and allow any provider to be passed in and configured? Or has that not been decided?
If we don't have a clear path to upgrade the API, what is our recommendation for people that do not or cannot use Bing Maps anymore as their main way to use maps?
For context on this, in the past week I have had two separate conversations with first-time users of iTwin.js who have asked what our replacement is for Bing Maps as it is deprecated and currently iTwin.js treats it as a first class part of our API.
Any feedback on address the deprecation in our docs of this API initially and recommending an approach until we decide how to change the API in general?
#8118 again raises the question of what happens to applications that cannot acquire a Bing Maps key beginning next month.