Windows Phone アプリおよび SharePoint リストとマップを統合する

新しい地理位置情報フィールドを使用し、独自の地理位置情報ベースのフィールド型を作成して、SharePoint リストとロケーションベースの Web およびモバイル SharePoint アドインに位置情報と地図を統合する方法を確認します。

SharePoint では、ジオロケーションと呼ばれる新しいフィールド型が導入されており、位置情報を使用して SharePoint リストに注釈を付けることができます。 Geolocation 型の列では、位置情報を 10 進度で緯度と経度の座標のペアとして入力するか、ブラウザーで W3C Geolocation API を実装している場合は、ブラウザーからユーザーの現在の場所の座標を取得できます。 リストで、SharePoint は、Bing Maps によって提供されるマップ上に位置を表示します。 ジオロケーション フィールドとマップ ビューを組み合わせると、SharePoint からのデータをマッピング体験に統合することにより、情報に空間コンテキストを与えたり、ユーザーが Web およびモバイル アプリとソリューションに新しい方法で参加できるようになります。 SharePoint 位置情報フィールドの種類機能を使用してマッピング機能を使用する単純な Windows 7 モバイル アプリを作成し、モバイル SharePoint アドインリストアイテムにマップを表示できるようにします。

重要

Windows Phone 8 用のアプリを開発する場合は、Visual Studio 2010 Express ではなく Visual Studio Express 2012 を使用する必要があります。 開発環境を除き、この記事のすべての情報は、Windows Phone 8 用アプリと Windows Phone 7 用アプリを作成する場合に適用されます。 > 詳細については、「 方法: SharePoint 用モバイル アプリを開発するための環境を設定する」を参照してください。

地図ベースの Windows Phone アプリケーション作成の前提条件

次のものがインストールされていることを確認してください。

ステップ 1: 地理位置情報機能を使用して SharePoint フィールドを作成する

既定では、[地理位置情報] 列が SharePoint リストに含まれていません。 SharePoint リストに列を追加するコードを記述する必要があります。 SharePoint クライアント オブジェクト モデルを使用して、Geolocation フィールドをプログラムでリストに追加する方法について説明します。 フィールドをリストに追加した後、地理位置情報フィールドを機能としてリストに追加できます。

Visual Studio プロジェクトを作成するには

  1. SharePointが実行されているサーバーに管理者としてログオンします。

  2. [ Visual Studio] を起動し、[ ファイル]、[ 新しいプロジェクト] を順に選択します。 [ 新しいプロジェクト] ダイアログ ボックスが表示されます。

  3. [ 新しいプロジェクト] ダイアログ ボックスで、[ Visual C#] を選択し、[ SharePoint] を選択して、プロジェクトの種類 [ SharePoint] を選択します。

  4. プロジェクトに名前を付けます。 この例では、「 GeoList」を使用しています。 [ OK] をクリックします。

  5. SharePoint カスタマイズ ウィザードで、Phone 開発向けにアクセスするものと同じ SharePoint リストを使用するサイト コレクションの URL を入力します。

  6. ソリューション エクスプローラーで、 GeoList プロジェクトのショートカット メニューを開き、[ 追加]、[ 新しい項目の追加] を順に選択します。

  7. [ 新しい項目の追加 ] ダイアログ ボックスで、[リスト] を選択 します。 リストに名前を付けます。 この例では、 ServiceCalls を使用します

  8. [ Choose List Settings] (リスト設定の選択) ダイアログ ボックスで、表示名を追加します。 この例では「 Service Calls」を使用します。 [ Customize the list based on] (これに基づいてリストをカスタマイズする) の選択では、図 1 に示すように [ Default (Blank)] (既定 (空白)) を選択します。

    次に、[ 完了] を選択します。

    図 1. SharePoint リスト ウィザードを使用した SharePoint リストの追加

    ウィザードを使用した SharePoint リストの追加

SharePoint リストに機能を追加するには

  1. ソリューション エクスプローラー で、[ Features] ノードを展開します。

  2. Feature1 ノードのショートカット メニューを開き、[ 追加]、[ イベント レシーバーの追加] を順に選択します。

  3. FeatureActivated メソッドと FeatureDeactivating メソッドを非コメント化し、次のコードを追加します。

    public override void FeatureActivated(SPFeatureReceiverProperties properties)
    {
        SPWeb site = properties.Feature.Parent as SPWeb;
        SPList list = site.Lists.TryGetList("Service Calls");
        if (list != null)
        {
            list.Fields.AddFieldAsXml(
                "<Field Type='Geolocation' DisplayName='Location'/>",
                true,
                SPAddFieldOptions.Default);
            list.Update();
        }
    }
    public override void FeatureDeactivating(
                         SPFeatureReceiverProperties properties)
    {
        SPWeb site = properties.Feature.Parent as SPWeb;
        SPList list = site.Lists.TryGetList("Service Calls");
        if (list != null)
        {
            list.Delete();
        }
    }
    
  4. F6 キーを選択してソリューションをビルドします。

ステップ 2: リストを展開し、ロケーションベースの SharePoint リストにデータを入力する

このステップでは、Visual Studio から新しく作成したリストを展開し、SharePoint の新しい位置フィールドを使用します。

SharePoint リストを展開するには

  • ソリューション エクスプローラーで、 GeoList プロジェクトのショートカット メニューを開き、[ 展開] を選択します。

地理位置情報フィールドを使用して新しい SharePoint リストにデータを入力するには

  1. リストを正常に展開できたら、Phone 開発に使用しているサイトを開きます。
  2. [ その他] を選択し、[ Service Calls] リストを選択します。
  3. [ 新しいアイテムの追加] を選択します。
  4. [ タイトル] フィールドでタイトルを指定します。 この例では「 New Geolocation Item」を使用します。
  5. [ 場所] フィールドで [ Use Current Location] (現在の場所を使用する) を選択します。[ Specify Location ] (場所を指定する) を選択することもできます。[ 経度] および [ 緯度] の値を入力します。
  6. [保存] を選択します。

ステップ 3: ロケーションベースのリスト向けの Phone アプリケーションを作成する

このステップでは、ステップ 1 および 2 で作成した SharePoint リストを使用する Phone アプリケーションを作成します。

  1. クライアント側の Phone 開発環境にログオンします。

  2. 新しい SharePoint テンプレートで Visual Studio 2010 Express を起動します。

  3. メニュー バーで、[ ファイル]、[ 新しいプロジェクト] の順にクリックします。

    [ 新しいプロジェクト] ダイアログ ボックスが表示されます。

  4. [ 新しいプロジェクト] ダイアログ ボックスで、[ Visual C#]、[ Silverlight for Windows Phone]、[ Windows Phone SharePoint List Application] (Windows Phone SharePoint リスト アプリケーション) を順に選択します。

  5. プロジェクトに名前を付けます。 この例では、「GeoApp」を使用します。 [ OK] をクリックします。

  6. SharePoint Phone アプリケーション ウィザードで、「 ステップ 2: リストを展開し、ロケーションベースの SharePoint リストにデータを入力する 」でリストを展開した SharePoint サイトの URL を入力し、[ リストの検索] を選択します。

  7. [ Service Calls] リストを選択し、[ 次へ] を選択します。

  8. [ ビューの選択] ページで、[ すべてのアイテム] を選択し、[ 次へ] を選択します。

  9. [ 操作の選択] ページで、[ 表示] を選択し、[ 次へ] を選択します。

  10. [ フィールドの選択] ページで、Phone アプリケーションに表示するフィールドを選択し、[ 次へ] を選択します。

  11. [ フィールドの順序付け] ページで、必要に応じてフィールドを再順序付けし、[ 完了] を選択します。

ステップ 4: アプリケーションをテストおよび検証する

このステップでは、アプリケーションを実行し、検証します。

  1. Visual Studio で [ デバッグ]、[ Start Debugging] (デバッグの開始) を順に選択します。

  2. メッセージが表示されたら、SharePoint が実行されているサーバーに対して管理者権限を持つ資格情報を使用してログオンします。

  3. この例では、最初のエントリ [ Brian Cox] を選択します。

  4. [ 場所] フィールドの [ Map It] (地図) リンクを選択します。

  5. 図 2 に示すように、[ Allow maps to access and use your location] (地図で自分の場所へのアクセスおよび使用を許可) プライバシー ポリシー画面で、[ 許可] を選択します。

    図 2. 現在の場所へのアクセス権を持つモバイル アプリ要求

    地図のプライバシー ポリシーを許可

    図 3 に示すように、マップ ビューが表示されます。

    図 3: Bing マップで位置を表示するモバイル アプリケーション

    モバイル アプリでのマップ ビュー

注:

地理位置情報フィールドのユーザー エクスペリエンスは、モバイル デバイスとブラウザーでは異なることがあります。 ブラウザーで使用可能な [特定の場所を使用する] オプションは、モバイル デバイスでは使用できません。 モバイル デバイスでは、[お気に入りを使用する] オプションだけが使用可能です。

関連項目