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のプッシュピンクラスのプロパティであることを明確に述べています。この質問 のように、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、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();
}
于 2012-11-08T14:19:00.767 に答える