Bing映射无效凭据

本文关键字:无效 映射 Bing | 更新日期: 2023-09-27 18:01:09

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

我在一个测试应用程序中使用了这个,我使用以下代码编写:

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

地图显示出来了,一切都像钟表一样运转。

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

我完全不明白为什么会发生这种事。我在这里读到了一些答案,有些建议设置Culture属性,我已经这样做了,但没有效果。

很明显,有一些属性或设置导致了这种行为。

Bing映射无效凭据

我找到了这个问题的解决方案,尽管它并不优雅。

我创建了一个IMultiValueConverter,它接受我的LatitudeLongitudeMap(Bing Map控件(,并返回一个Location(Big Map控件使用(。

这是我的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时,我仍然感到困惑。