エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Windows Phone 8 でマップ コントロールをページに追加する方法

2014/06/18

対象: Windows Phone 8 および Windows Phone Silverlight 8.1 のみ

 

このトピックでは、Windows Phone 8 プロジェクトに Map コントロールを追加する各種の方法について説明します。Map コントロールは、Windows Phone SDK 8.0 のライブラリの一部です。Map はメモリ内で中核をなすコントロールではないため、それが適切に参照されていなければ使用することができません。また、プロジェクトにこのコントロールを追加する前に、ID_Cap_Map 機能を追加しておく必要もあります。

ヒントヒント:

このトピックでは、アプリの内部にマップを表示するコードの作成方法について説明します。マップを表示するだけの場合は、組み込みの Maps アプリを起動する Maps タスクを使用することもできます。詳細については、「Windows Phone 8 の Maps タスクを使用する方法」を参照してください。

Icon to indicate an SDK sample

このトピックで説明している一部のタスクを実演するサンプルについては、「Simple Map control sample」を参照してください。

プッシュピンなどの Maps API の便利な拡張機能については、Windows Phone Toolkit をダウンロードしてください。

このトピックは、次のセクションで構成されています。

 

Map コントロールを追加するには、あらかじめ ID_Cap_Map 機能を追加しておく必要があります。

ID_Cap_Map 機能を追加するには

  1. Visual Studio 2012 で、MapApplication という名前で新しい Windows Phone 8 プロジェクトを作成します。

  2. この MapApplication プロジェクトで、[プロパティ] フォルダーをクリックした後、WMAppManifest.xml ファイルをダブルクリックします。

  3. WMAppManifest.xml ファイルで、[機能] タブをクリックします。

  4. [機能] テーブルで、[ID_Cap_Map] 機能を選択します。

Map コントロールを追加し、正しくこれを参照する最も簡単な方法は、[ツールボックス] からコントロールをドラッグし、XAML デザイナーまたは XAML ビューにドロップする方法です。

ツールボックスからマップ コントロールを追加するには

  1. MapApplication プロジェクトで、[ツールボックス] を開いてから、[Windows Phone の全コントロール] を開きます。

  2. [ツールボックス] から、Map コントロールを XAML またはデザイナー ビューにドラッグします。

    Visual Studio によって次の処理が自動的に実行されます。

    • Microsoft.Phone.Maps アセンブリへの参照を追加します。

    • XAML ページの <phone:PhoneApplicationPage> スタート タグで、SDK 名前空間に対する以下の XML 名前空間宣言を追加します。

      xmlns:Controls="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
      
    • コントロールを XAML ビューにドラッグした場合は、次の XAML をページに追加します。

      <Controls:Map />

      または

    • デザイン ビューにコントロールをドラッグした場合は、次の XAML を追加します。

      <Controls:Map HorizontalAlignment="Left" Margin="158,265,0,0" VerticalAlignment="Top"/>
      

XAML を使用して Map コントロールを追加するには、最初に Microsoft.Phone.Maps アセンブリへの参照を追加し、次に XML 名前空間をこのアセンブリにマッピングする必要があります。

Visual Studio で Microsoft.Phone.Maps アセンブリへの参照を追加するには

  1. MapApplication プロジェクトで、[プロジェクト] メニューを右クリックし、次に [参照の追加] を選択します。

  2. [参照マネージャー] ダイアログ ボックスで、[参照] をクリックします。

  3. C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0 に移動します。

  4. Microsoft.Phone.Maps.dll ファイルをダブルクリックします。

  5. [OK] をクリックします。

XML 名前空間のマッピングを追加するには

  1. MainPage.xaml を開きます。

  2. XAML ページの <phone:PhoneApplicationPage> スタート タグで、SDK 名前空間に対する以下の XML 名前空間宣言を追加します。

    xmlns:Controls="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
    

XAML を使用してマップ コントロールを追加するには

  1. Mainpage.xaml を開きます。

  2. 次の XAML を ControlPanel グリッドに追加します。

    <Controls:Map></Controls:Map>
    

Microsoft.Phone.Maps アセンブリへの参照を既に設定していれば、コードを使って Map コントロールを追加できます。以下の例では、MyMap という名前の Map コントロールを作成し、これを ControlPanel グリッドに追加します。

コードを使用してマップ コントロールを追加するには

  1. MainPage.xaml.cs を開きます。

  2. 次の using ステートメントを追加します。

    Using Microsoft.Phone.Maps.Controls;
    
  3. 次のコードを追加します。

    
    public MainPage()
    {
       InitializeComponent();
       Map MyMap = new Map();
       ContentPanel.Children.Add(MyMap);
    }
    

マップ コントロールを使用するアプリを発行する前に、ApplicationId および AuthenticationToken を Windows Phone デベロッパー センター から取得して、その値をコードに追加する必要があります。取得する値は、要求対象となる個々のアプリに固有です。

ApplicationID と AuthenticationToken を デベロッパー センター から取得するには

  1. アプリの終了後、アプリ申請プロセスを開始します。

  2. [アプリの申請] ページで、[マップ サービス] をクリックします。

    [マップ サービス] ページが表示されます。

  3. [] ページで、[トークンの取得] をクリックします。

    新しい ApplicationIDAuthenticationToken は、同じページに表示されます。

  4. 値をコピーして、次の手順の記述に従って、コードに貼り付けます。

  5. 新しいコードを使用してアプリをリビルドし、更新されたコピーをストア にアップロードします。

最初のマップ コントロールが読み込まれた後、インスタンス化だけではなく、ApplicationId プロパティと AuthenticationToken プロパティの両方に値を設定する必要があります。アプリでマップ コントロールのすべてのインスタンスを破棄して新しいインスタンスを作成する場合は、これらのプロパティを再度設定する必要があります。

コードで ApplicationID と AuthenticationToken を指定するには

  1. Visual Studio のコードで、マップ コントロールの読み込みイベントのイベント ハンドラーを作成します。

  2. デベロッパー センター から取得したそれぞれの値をコピーし、次のコードに示すとおり、それぞれのプロパティに割り当てます。

            private void myMapControl_Loaded(object sender, RoutedEventArgs e)
            {
                Microsoft.Phone.Maps.MapsSettings.ApplicationContext.ApplicationId = "ApplicationID";
                Microsoft.Phone.Maps.MapsSettings.ApplicationContext.AuthenticationToken = "AuthenticationToken";
            }
    
    

マップ サービスの継続的な使用は、使用条件によって管理されます。マップ サービスの一部は Nokia によって提供されているため、Microsoft はマップ サービスを使用している開発者 ID を Nokia と共有する場合があります。

表示:
© 2014 Microsoft