2014-03-19 4 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.

'ОЖИДАНИЕ' оператор может быть использован только в пределах асинхронного метод. Подумайте о маркировке этого метода с помощью модификатора «async» и измените его тип возврата на «Задача».

Я новичок в приложении для Windows. теперь только я начинаю учиться базовому в WP8.

Plz сказать, как решить эту проблему ...

ответ

2

В своем коде вы использовали await geolocator.GetGeopositionAsync() теперь вы можете использовать только ждать с асинхронными методами.

так, что вы должны сделать, это каждый раз, когда вы использовали метод асинхронной просто объявить метод Асинхронный

как: 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

Смежные вопросы