2014-03-19 38 views
1

我正在開發windows phone 8應用程序。如何在windows phone 8應用程序中解決以下錯誤?

我需要獲取用戶當前位置的詳細信息。

我嘗試用以下從MSDN

C#採取代碼:

1 private void OneShotLocationButton_Click(object sender, RoutedEventArgs e) 
2 {if ((bool)IsolatedStorageSettings.ApplicationSettings["LocationConsent"] != true) 
3  { 
4    return; 
5  } 
6  Geolocator geolocator = new Geolocator(); 
7  geolocator.DesiredAccuracyInMeters = 50; 
8  try 
9  { 
10   Geoposition geoposition = await geolocator.GetGeopositionAsync(
       maximumAge: TimeSpan.FromMinutes(5), 
       timeout: TimeSpan.FromSeconds(10) 
       ); 

      LatitudeTextBlock.Text = geoposition.Coordinate.Latitude.ToString("0.00"); 
      LongitudeTextBlock.Text = geoposition.Coordinate.Longitude.ToString("0.00"); 
     } 
     catch (Exception ex) 
     { 
      if ((uint)ex.HResult == 0x80004004) 
      { 
       // the application does not have the right capability or the location master switch is off 
       StatusTextBlock.Text = "location is disabled in phone settings."; 
      } 
      //else 
      { 
       // something else happened acquring the location 
      } 
     } 
    } 

我得到了行號錯誤10.

的 '伺機' 運算符只能異步內使用方法。考慮使用「異步」修飾符標記此方法,並將其返回類型更改爲「任務」。

我是新手機windows應用程序。現在只有我開始了WP8的學習基礎。

PLZ告訴如何解決這個問題...

回答

2

在你的代碼已經使用await geolocator.GetGeopositionAsync()現在你只能使用與異步方法等待。

所以你必須做的是當你使用異步方法只是申報方法aysnc

,如:private async void OneShotLocationButton_Click(object sender, RoutedEventArgs e)

,而不是private void OneShotLocationButton_Click(object sender, RoutedEventArgs e)

2

按照錯誤指示。更改

private void OneShotLocationButton_Click 

private async void OneShotLocationButton_Click 
+0

它的工作現在。 – Gurunathan

相關問題