必应地图控件 XamlParseException

Posted

技术标签:

【中文标题】必应地图控件 XamlParseException【英文标题】:Bing Maps control XamlParseException 【发布时间】:2011-09-17 22:38:57 【问题描述】:

我正在尝试在 Windows Phone 应用程序上使用 Bing 地图控件,但是当我启动地图控件所在的页面时,我收到此错误:

Failed to create a 'System.Device.Location.GeoCoordinate' from the text '0,0'. [Line: 32 Position: 58]

这是我的 XAML,虽然这里没有什么特别之处:

<my:Map Height="224"
        HorizontalAlignment="Left"
        Margin="7,4,0,0"
        Name="map1"
        VerticalAlignment="Top"
        Width="443"
        Loaded="map1_Loaded"
        ViewChangeStart="map1_ViewChangeStart">
    <my:MapLayer Name="lMain">
        <Ellipse Fill="Red" Width="20" Height="20"
                 my:MapLayer.Position="0,0"
                 Name="ppLocation"
                 Visibility="Collapsed" />
    </my:MapLayer>
</my:Map>

我尝试使用此代码添加坐标:

GeoCoordinate ld = (Application.Current as App).curentLocation;
Location ppLoc = new Location();
GeoCoordinate g = new GeoCoordinate();

ppLoc.Latitude = ld.Latitude;
ppLoc.Longitude = ld.Longitude;
ppLoc.Altitude = ld.Altitude;

map1.SetView(ppLoc, 10);

//update pushpin location and show
MapLayer.SetPosition(ppLocation, ppLoc);
ppLocation.Visibility = System.Windows.Visibility.Visible;

但它会在 map1.SetView(ppLoc, 10); 上抛出“NullReferenceExcpetion”;

【问题讨论】:

【参考方案1】:

问题是当您为Ellipse 设置my:MapLayer.Position="0,0" 时。要么你根本不应该设置它,要么你应该将它设置为一个有效的坐标。

另外,您的NullReferenceExcpetion 是因为当您尝试设置map1.SetView(ppLoc, 10);map1 为空。

【讨论】:

删除了 "my:MapLayer.Position="0,0"" 现在一切正常。谢谢

以上是关于必应地图控件 XamlParseException的主要内容,如果未能解决你的问题,请参考以下文章

Bing Maps必应地图

开发asp.net应用程序,使用谷歌地图还是必应地图?

必应地图搜索默认为兰开斯特

是否可以使用地图 API 调用(例如,必应地图、谷歌地图)从街道地址获取商店网站地址? [关闭]

必应地图没有在印度带来城市

Windows Phone 8.1 绑定必应地图图钉