1

我正在使用 C# 创建一个使用 bing 地图的 Windows 商店应用程序。我正在尝试存储和检索地图上随机放置的图钉的位置,但是当我使用 pushpin.Location 尝试打印该位置时,例如,我收到以下错误:

“Bing.Maps.Pushpin”不包含“Location”的定义,并且找不到接受“Bing.Maps.Pushpin”类型的第一个参数的扩展方法“Location”(您是否缺少 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 here中图钉类的属性 还有一些示例说明它被用于 windows phone 7,就像在这个问题中一样。

有什么我想念的想法吗?还是此功能不适用于 Windows 8?

4

2 回答 2

1

它的工作原理如下:

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();
        }
于 2012-11-08T04:22:57.913 回答
0

啊,不错,谢谢。我也找到了另一种方法。本质上是相同的东西,但使用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();
}
于 2012-11-08T14:19:00.767 回答