Bing 映射无效凭据
Bing Map Invalid Credentials
我创建了一个 Big Maps 帐户并生成了一个 CredentialsProvider
密钥。
我在使用以下代码编写的测试应用程序中使用了它:
<wpf:Map CredentialsProvider="MyCredentialsProviderKey" Width="250" Height="250"/>
地图出现了,一切如发条一样。
我已将所有这些移动到我的生产项目中,每当地图显示时我都会得到 Invalid Credentials
。相同的密钥,与测试项目相同的所有内容。
我完全不明白为什么会这样。我在这里看了一些答案,有些建议设置Culture
属性,我已经这样做了,但没有用。
显然是某些 属性 或设置导致了这种行为。
我找到了解决问题的方法,虽然它并不优雅。
我创建了一个 IMultiValueConverter
,它使用我的 Latitude
、Longitude
、Map
(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
没有被设置
我创建了一个 Big Maps 帐户并生成了一个 CredentialsProvider
密钥。
我在使用以下代码编写的测试应用程序中使用了它:
<wpf:Map CredentialsProvider="MyCredentialsProviderKey" Width="250" Height="250"/>
地图出现了,一切如发条一样。
我已将所有这些移动到我的生产项目中,每当地图显示时我都会得到 Invalid Credentials
。相同的密钥,与测试项目相同的所有内容。
我完全不明白为什么会这样。我在这里看了一些答案,有些建议设置Culture
属性,我已经这样做了,但没有用。
显然是某些 属性 或设置导致了这种行为。
我找到了解决问题的方法,虽然它并不优雅。
我创建了一个 IMultiValueConverter
,它使用我的 Latitude
、Longitude
、Map
(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
没有被设置