Bing 映射无效凭据

Bing Map Invalid Credentials

我创建了一个 Big Maps 帐户并生成了一个 CredentialsProvider 密钥。

我在使用以下代码编写的测试应用程序中使用了它:

<wpf:Map CredentialsProvider="MyCredentialsProviderKey" Width="250" Height="250"/>

地图出现了,一切如发条一样。

我已将所有这些移动到我的生产项目中,每当地图显示时我都会得到 Invalid Credentials。相同的密钥,与测试项目相同的所有内容。

我完全不明白为什么会这样。我在这里看了一些答案,有些建议设置Culture 属性,我已经这样做了,但没有用。

显然是某些 属性 或设置导致了这种行为。

我找到了解决问题的方法,虽然它并不优雅。

我创建了一个 IMultiValueConverter,它使用我的 LatitudeLongitudeMap(Bing 地图控制)和 returns a Location(由大地图控件使用)。

这是我的 XAML:

<wpf:Map Width="250" Height="250" x:Name="BingMapControl">
    <wpf:Pushpin>
        <wpf:Pushpin.Location>
            <MultiBinding Converter="{StaticResource LatitudeLongitudeToLocationConverter}">
                <Binding Path="LatitudeCoordinate"/>
                <Binding Path="LongitudeCoordinate"/>
                <Binding Path="." ElementName="BingMapControl"/>
            </MultiBinding>
        </wpf:Pushpin.Location>
    </wpf:Pushpin>
</wpf:Map>

在那个转换器中我做了这个调用:

var cp = map.CredentialsProvider as ApplicationIdCredentialsProvider;

if (string.IsNullOrEmpty(cp.ApplicationId))
    cp.ApplicationId = "MyBingMapKey";

我仍然感到困惑,为什么当我尝试在 XAML.

中执行此操作时 CredentialsProvider 没有被设置