必应地图控件 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的主要内容,如果未能解决你的问题,请参考以下文章