Maps for WPF/Silverlight
マウスオーバー時に地理座標を表示する
タスク別ヘルプ > マウスオーバー時に地理座標を表示する

このトピックでは、現在のマウス位置の地理座標を返すコードをプロジェクトに追加します。この地理座標は、TextBox コントロールの Text プロパティに文字列として書き込まれます。このタスク別ヘルプトピックは、Visual Studio 2008 で作業していることを前提とします。
次の手順に従います。

  1. ツールボックスで、[StackPanel]アイコンをダブルクリックして、StackPanel コントロールをプロジェクトに追加します。

  2. StackPanel コントロールを選択してツールボックスに戻り、C1Maps アイコンをダブルクリックしてコントロールを StackPanel に追加します。

  3. StackPanel コントロールを選択してツールボックスに戻り、TextBox アイコンをダブルクリックして TextBox コントロールを StackPanel コントロールに追加します。

  4. StackPanel のプロパティを次のように設定します。

    1. Width プロパティを "Auto" に設定します。

    2. Height プロパティを "Auto" に設定します。

  5. TextBox コントロールの Name プロパティを "ShowCoordinates" に設定します。

  6. C1Maps コントロールのプロパティを次のように設定します。

    1. Width プロパティを "350" に設定します。

    2. Height プロパティを "250" に設定します。

  7. C1Maps コントロールを選択し、[プロパティ]ウィンドウの[イベント]ボタン()をクリックします。

  8. [MouseMove]テキストボックスに「MouseMoveCoordinates」と入力し、[Enter]キーを押して MouseMoveCoordinates イベントハンドラをプロジェクトに追加します。

  9. コードコメントを次のコードに置き換えます。

    Visual Basic
    コードのコピー
    Dim map As C1Maps = TryCast(sender, C1Maps)
    Dim p As Point = map.ScreenToGeographic(e.GetPosition(map))
    ShowCoordinates.Text = String.Format("{0:f6},{1:f6}", p.X, p.Y)
    

    C#
    コードのコピー
    c1Maps map = sender as C1Maps;
    Point p = map.ScreenToGeographic(e.GetPosition(map));
    ShowCoordinates.Text = string.Format("{0:f6},{1:f6}", p.X, p.Y);
    
  10. 次の名前空間をインポートします。

    Visual Basic
    コードのコピー
    Imports C1.WPF.C1Maps
    

    C#
    コードのコピー
    using C1.WPF.C1Maps;
    
  11. [F5]キーを押してプロジェクトを実行します。プロジェクトがロードされたら、カーソルをマップ上に移動して、テキストボックスに地理座標が表示されることを確認します。

関連トピック