Ошибка pushpin.Location на картах Bing для приложения магазина Windows

Я использую С# для создания приложения для магазина Windows с использованием карт Bing. Я пытаюсь сохранить и получить местоположение случайно размещенной канцелярской кнопки на карте, но когда я использую pushpin.Location для попытки распечатать местоположение, например, я получаю следующую ошибку:

«Bing.Maps.Pushpin» не содержит определения для «Location», и не может быть найден метод расширения «Location», принимающий первый аргумент типа «Bing.Maps.Pushpin» (вам не хватает директивы using или ссылки на сборку? ?)

Простой пример кода ниже показывает, что я имею в виду, немного яснее:

private async void pushpinTapped(object sender, Windows.UI.Xaml.Input.TappedRoutedEventArgs e)
{
      MessageDialog dialog = new MessageDialog("You are here" + pushPin.Location());
      await dialog.ShowAsync();
}

В нем четко указано, что местоположение является свойством класса канцелярской кнопки в API здесь Есть также примеры его использования для Windows Phone 7, например, в этот вопрос.

Любые идеи, что мне не хватает? или эта функция недоступна для Windows 8?


person Aimee Jones    schedule 17.10.2012    source источник


Ответы (2)


Это работает так:

async void pin_Tapped(object sender, TappedRoutedEventArgs e)
        {
            Pushpin pin = sender as Pushpin;
            Location pinLocation = MapLayer.GetPosition(pin);
            MessageDialog dialog = new MessageDialog("You are here: " + pinLocation.Latitude +", " + pinLocation.Longitude);
            await dialog.ShowAsync();
        }
person Typist    schedule 08.11.2012

Ах хороший один спасибо. Я нашел еще один способ сделать это тоже. По сути то же самое, но с использованием var x вместо местоположения.

private async void pushpinTapped(object sender,Windows.UI.Xaml.Input.TappedRoutedEventArgs e)
{
     Pushpin tappedpin = sender as Pushpin;  
     if (null == tappedpin) return;  
     var x = MapLayer.GetPosition(tappedpin); 
     MessageDialog dialog = new MessageDialog("You are here " + x.Latitude + ", " + x.Longitude);
     await dialog.ShowAsync();
}
person Aimee Jones    schedule 08.11.2012
comment
Прохладный. Во время выполнения var будет преобразован в Location. То же самое, без вреда. - person Typist; 08.11.2012