SharePoint で位置情報フィールドのマップビューを作成する

SharePointのリストでマップ ビューを使用し、場所情報を表示する方法を説明します。 マップ ビューの作成は、SharePoint のユーザー インターフェイス (UI) により手動で行うか、または、新しい Geolocation フィールド型を使用してプログラム的に行うことができます。

SharePointでは、SharePoint リストに場所情報の注釈をつけられる Geolocation という名前の新しいフィールド型が導入されています。 たとえば、リストを "場所対応" にすることができ、緯度と経度の座標を Bing Maps に表示できます。 エントリは、通常、マップ ビュー上の画鋲として表示されます。

SharePoint リスト内でマップ ビューを表示するには、Bing マップ サービスを使用する必要があります。 地理位置情報フィールドは、UI を使用してリストを作成する場合には使用できません。 このフィールドは、プログラムを使用して挿入する必要があります。 このデータ型をプログラムでレンダリングして操作する方法については、「SharePoint でロケーションとマップ機能を組み込む」を参照してください。

位置情報フィールドとマップ ビューを使用すると、SharePoint のデータを Web アプリとモバイル アプリのマッピング エクスペリエンスに統合することで、空間コンテキストを任意の情報に提供できます。 この記事では、位置情報フィールドをレンダリングする方法や、場所ベースのモバイル アプリケーションを作成するための開発者ガイダンスを提供する方法については説明しません。Bing地図を使用して、プログラムでおよび SharePoint UI からマップ ビューを作成するための指示が提供されます。

Geolocation フィールドの値またはデータをリストに表示するには、SQLSysClrTypes.msi という MSI パッケージをすべての SharePoint フロントエンド Web サーバーにインストールする必要があります。 このパッケージは、新しい図形座標、地理、および階層 ID の種類を SQL Server 2008 に実装するコンポーネントをインストールします。 既定では、このファイルが SharePoint Online 用にインストールされます。 ただし、SharePoint のオンプレミス展開用にはインストールされません。 この操作を実行するには、Farm Administrators グループに属していることが必要です。 SQLSysClrTypes.msi をダウンロードするには、Microsoft ダウンロード センターの Microsoft SQL Server 2008 R2 SP1 Feature Pack (SQL Server 2008 用) または Microsoft SQL Server 2012 Feature Pack (SQL Server 2012 用) を参照してください。

マップ ビューを作成するための前提条件

  • ビューの作成に十分な特権で、SharePoint リストにアクセスすること。

  • Geolocation 列を含む SharePoint リスト

  • ファームまたは Web レベルで設定された有効なBing地図 キー。Bing地図 アカウント センターから取得できます。

    重要

    Bing Maps キーの使用に適用される使用条件を遵守する責任があります。また、Bing Maps サービスに渡すデータに関して、アプリケーションのユーザーに開示する必要がある場合、その開示に責任があります。

  • Visual Studio 2012 または Visual Studio 2010

マップ ビューとは

マップ ビューは、 Geolocation フィールド型の経度および緯度エントリを使用して、(Bing Maps サービスから取得したデータとともに) 地図を表示する SharePoint ビューです。 Geolocation フィールド型が SharePoint リストで利用できる場合、マップ ビューはプログラム的に、または、SharePoint の UI から作成できます。 SharePointでは、リスト内で、Bing Maps から提供される地図に場所を表示します。 さらに、[ マップ ビュー] という名前の新しいビューの種類によって、リスト アイテムが Bing Maps AJAX Control V7 上で画鋲として表示され、左側のウィンドウ上にリスト アイテムがカードとして表示されます。

注:

任意の SharePoint リストに最大 2 つの Geolocation 列を含めることができます。同じリストに 3 つ目の Geolocation 列は追加できません。 マップ ビューに含めることができる Geolocation 列は 1 つのみです。 別の Geolocation 列には複数のマップ ビューを作成できます。

SharePoint UI からマップ ビューを作成する

次の手順では、SharePointの UI からマップ ビューを作成する方法を示します。

  1. Geolocation 列のある SharePoint リストを開きます。

  2. 図 1 のように、ECB (編集コントロール ブロック) メニューから、[ ビューの作成] を選択します。

    SharePoint リスト用のコントロール ボックス メニューの編集

    図 1. ECB メニューからビューを作成する

  3. [ ビューの種類を選択してください] ページで、図 2 のように [ マップ ビュー] を選択します。

    ビューの種類の一覧から [マップ ビュー] を選択

    図 2. ビューの種類を選択する

  4. ビューの種類を選択した後、図 3 のように、マップ ビューに表示するさまざまなフィールドを選択できます。

    ビューに表示されるフィールドの選択

    図 3. マップ ビュー用のフィールドを選択する

    注:

    マップ ビューを作成するには、少なくとも 1 つの Geolocation フィールドが必要です。 異なる 2 つの Geolocation フィールドを使用する 2 つのマップ ビューを別々に作成することはできますが、1 つのマップ ビューに複数の Geolocation フィールドは選択できません。

  5. 必須の Geolocation フィールドと、必要なその他のフィールドを追加した後、[ OK] をクリックします。 図 4 のようにマップ ビューが作成されます。

    完成したマップ ビュー

    図 4. 完成したマップ ビュー

プログラム的にマップ ビューを作成する

次の手順に従って、プログラム的に SharePoint リストのマップ ビューを作成します。

  1. Visual Studio を起動します。

  2. メニュー バーで、[ファイル]、[新規作成]、[プロジェクト] の順に選択します。 [新しいプロジェクト] ダイアログ ボックスが表示されます。

  3. [ 新しいプロジェクト] ダイアログ ボックスの [ インストールされたテンプレート] ボックスで [ C#] を選択して、[ コンソール アプリケーション] テンプレートを選択します。

  4. プロジェクトに名前をつけて、[ OK] をクリックします。

  5. Visual Studio がプロジェクトを作成します。 参照を次のアセンブリに追加し、[ OK] を選択します。

    • Microsoft.SharePoint.Client.dll
    • Microsoft.SharePoint.Client.Runtime.dll
  6. 既定の .cs ファイルでは、次のように using ディレクティブを追加します。

    using Microsoft.SharePoint.Client;
    
  7. 次に示すコードを cs ファイル内の Main メソッドに追加します。

    注:

    JSLink プロパティは、アンケートの一覧またはイベントの一覧ではサポートされていません。 SharePoint の予定表はイベント リストです。

    class Program
    {
      static void Main(string[] args)
      {
        CreateMapView ();
        Console.WriteLine("A map view is created successfully");
      }
      private static void CreateMapView()
      {
        // Replace <Site URL> and <List Title> with valid values.
        ClientContext context = new ClientContext("<Site Url>");
        List oList = context.Web.Lists.GetByTitle("<List Title>");
        ViewCreationInformation viewCreationinfo = new ViewCreationInformation();
        // Replace <View Name> with the name you want for your map view.
        viewCreationinfo.Title = "<View Name>";
        viewCreationinfo.ViewTypeKind = ViewType.Html;
        View oView = oList.Views.Add(viewCreationinfo);
        oView.JSLink = "mapviewtemplate.js";
        oView.Update();
        context.ExecuteQuery();
      }
    }
    
  8. <Site Url><List Title> を有効な値で置き換えます。

  9. リストに移動します。 前のコードで指定した名前のついた、新しく作成したビューが表示されます。

マップ ビューの色分けされた画鋲を理解する

マップ ビューには、(図 5 に示すように) 3 色のプッシュピンが用意されており、それぞれ異なるユーザー エクスペリエンスが提供されます。 地図上の画鋲は、左側のウィンドウにある対応するアイテムの画鋲と同じ色です。

  • オレンジ そのアイテムの Geolocation フィールドが Bing Maps サービスでマッピングされていることを示します。
  • 灰色 そのアイテムの Geolocation フィールドが空であることを示します。 アイテムを Bing Maps サービスでマッピングできないので、このアイテムの画鋲は地図上に表示されません。
  • ユーザーがリスト アイテムをポイントすると、画鋲の色がオレンジから青に変わります。 左側のウィンドウの画鋲と、対応する地図上の画鋲の両方の色が変わります。

マップ ビュー内のさまざまな色の画鋲

図 5. さまざまなプッシュピンの色を持つマップ ビュー

マップ ビューを作成した後、すべてのアイテムが画鋲として表示されます。 ユーザーは、画鋲をポイントすることによって、図 6 のようにアイテムに関する詳細情報を取得できます。

マップ ビュー上の画鋲のユーザー エクスペリエンス

図 6. マップ ビューでのプッシュピンのユーザー エクスペリエンス

関連項目