Microsoft Bing Maps Discontinued Services

Introduction
On May 21, 2024, Microsoft announced the deprecation of several key features and services within Bing Maps (Link),  signaling a new direction for organizations relying on these tools for geospatial needs. As many businesses and developers have depended on Bing Maps for location-based services, it is crucial to understand what’s changing, how it affects your workflows, and the recommended alternatives.

The article states that “Customers with an enterprise license have until June 30, 2028, to transition to Azure Maps, while customers on the free and basic license for Bing Maps for Enterprise have until June 30, 2025”.

In this post, we’ll explore the discontinued Bing Maps services, the rationale behind these changes, and how Azure Maps is now the go-to solution for all your geospatial needs.

What is Changing?
Microsoft has released a comprehensive list of Bing Maps services that are being phased out. These services have been essential for many organizations, offering functionalities such as geocoding, routing, traffic data, and more. The main services being deprecated include:

  • Bing Maps REST Services
  • Bing Maps SOAP Services
  • Bing Maps Web Control 6.3

These services have powered numerous location-based applications, but with evolving technology standards and performance expectations, Microsoft is retiring them to make way for newer, more robust solutions.

Why Is Microsoft Making These Changes?
Microsoft’s decision to discontinue these services is driven by a focus on modernization and a shift toward cloud-native solutions. Older technologies like the Bing Maps SOAP Services and Web Control have become outdated, with newer tools offering better performance, security, and integration capabilities.

This change also reflects broader trends in the industry, with cloud-based services becoming more dominant, offering better scalability, real-time data processing, and higher levels of security.

Azure Maps: The New Standard
As Microsoft phases out Bing Maps, Azure Maps emerges as the recommended and supported geospatial service. Built on the Azure cloud platform, Azure Maps offers a comprehensive suite of mapping and location-based services designed to meet modern business needs.

Steps to Transition to Azure Maps

Audit Your Bing Maps Integrations: Conduct a thorough audit of all the places where Bing Maps services are used in your business workflows and applications.
Plan Your Migration to Azure Maps: Azure Maps provides a robust set of services that can easily replace deprecated Bing Maps functionalities. Begin planning the migration process, including which APIs to replace and any necessary redeployment efforts.
Leverage Azure Resources: Microsoft offers a wide range of tools, documentation, and support to help businesses transition from Bing Maps to Azure Maps smoothly. Utilize these resources to minimize migration friction.
Test and Optimize: Once you’ve integrated Azure Maps, ensure comprehensive testing is carried out to optimize performance, validate security, and ensure a seamless user experience.

Conclusion
The deprecation of Bing Maps services is a reminder of how rapidly technology evolves and the importance of staying ahead of these changes. With Azure Maps now positioned as the recommended service, businesses can continue to deliver exceptional geospatial experiences while benefiting from the modern, cloud-native infrastructure of Azure.

By transitioning to Azure Maps, businesses can unlock powerful new features, ensure better scalability, and provide their customers with enhanced mapping services. Now is the time to future-proof your operations by embracing Azure Maps as the new standard in geospatial solutions.

Missing Competitor Field in Dynamics 365 Opportunity: Debugging the “Close as Lost” Button

In a recent project involving Dynamics 365 for Sales, I encountered a peculiar issue where the “Close as Lost” button on an opportunity didn’t show the Competitor field, which is usually expected when accessing the close dialog. There were no custom plugins or workflow assemblies that could have contributed to this problem. So, I embarked on a journey to debug the issue, ultimately uncovering some hidden configuration that caused this behavior.

Problem Description

The typical “Close as Lost” dialog in Dynamics 365 provides a field to specify the competitor who won the deal. However, in this particular instance, the competitor field was conspicuously absent (as shown in the image below. This was confusing because no customizations should have interfered with this standard feature.

Initial Investigations

After verifying that no unusual plugins or workflows were active, I decided to dive deeper into the client-side logic. I inspected the JavaScript behind the “Close as Lost” button to see if there were any parameters or conditions being set that would hide the competitor field. I came across a crucial piece of code that read a specific parameter controlling whether the competitor field would be displayed or not.

Here’s a snippet from the code:

if (ClientUtility.DataUtil.isNullOrUndefined(hideCompetitorFieldAttribute)) {
   hideCompetitorField = hideCompetitorFieldAttribute.getValue();
}

This code was checking if the competitor field should be hidden, and in this case, it was set to “true.”

The Hidden Culprit: An Extra Boolean Parameter

Finally, I stumbled upon the root cause when reviewing the ribbon configuration in Ribbon Workbench. As it turns out, the “Close as Lost” button had an extra Boolean parameter configured by a previous consultant. This Boolean parameter was set to true, effectively hiding the competitor field.

This additional Boolean parameter was unnecessary and had inadvertently caused the competitor field to be hidden during the closure process. Once this parameter was removed or set to false, the competitor field reappeared as expected in the “Close as Lost” dialog.

Resolution Steps

Using Ribbon Workbench, I found an unnecessary Boolean parameter that had been added to the button’s configuration.
Fix: I updated the configuration by either removing the Boolean parameter or setting its value to false.


Conclusion

This issue highlights the importance of double-checking even the smallest customizations in Dynamics 365. A minor oversight, like an extra Boolean parameter, can have significant effects on user experience and business processes. Always ensure that customizations are documented and reviewed, especially when they affect standard features like opportunity closure.

Have you ever encountered a similar issue with missing fields in Dynamics 365? Share your experience in the comments below!