【问题标题】:pushpin.Location error on Bing maps for Windows store appWindows 商店应用的 Bing 地图上的 pushpin.Location 错误
【发布时间】:2012-10-17 19:22:21
【问题描述】:

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

“Bing.Maps.Pushpin”不包含“位置”的定义,并且 没有扩展方法“位置”接受类型的第一个参数 可以找到“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 here 中图钉类的属性 还有一些用于 windows phone 7 的示例,例如 this question

任何想法我错过了什么?还是此功能不适用于 Windows 8?

【问题讨论】:

    标签: windows-8 location bing-maps windows-store-apps pushpin


    【解决方案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();
            }
    

    【讨论】:

      【解决方案2】:

      啊,很好,谢谢。 我也找到了另一种方法。本质上是一样的,但使用 var x 而不是 Location。

      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();
      }
      

      【讨论】:

      • 酷。在运行时,var 将被解析为 Location。都一样,没坏处。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-28
      • 1970-01-01
      • 2014-09-17
      • 1970-01-01
      • 1970-01-01
      • 2013-10-11
      相关资源
      最近更新 更多