2011-09-17 155 views
0

我想在Windows Phone應用程序中使用Bing地圖的控制,但是當我啓動在地圖控件所在的頁面,我得到這個錯誤:Bing地圖控制XamlParseException

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」;

回答

0

問題是當您爲Ellipse設置my:MapLayer.Position="0,0"時。要麼你不應該設置它,或者你應該把它設置爲一個有效的座標。

另外,您的NullReferenceExcpetion是因爲map1在嘗試設置map1.SetView(ppLoc, 10);時爲空。

+0

刪除了「my:MapLayer.Position =」0,0「」,現在一切正常。謝謝 – milous