10.1.x スタートアップガイド
目次 はじめに... 1 スタートゕップガドについて... 1 ArcGIS Runtime SDK for Windows Phone とは... 1 ArcGIS Runtime SDK for Windows Phone の開発環境... 1 モバイルマッピングアプリケーションの開発... 2 API ラブラリのンストール... 2 モバルマッピングゕプリケーションの開発... 9 API ライブラリ参照の追加... 9 Map コントロールの追加... 13 地図の切り替え... 17 主題図の追加... 22 マップのナビゲート... 24 ゕプリケーションの公開について... 25 次のステップ... 25 ArcGIS Resources... 25 トピックス... 30 Map コントロールの Layers プロパテゖ... 30 レヤの種類... 31 マップサービスレイヤ... 33 マップサービスレイヤの REST エンドポイント... 34 フィーチャレイヤ... 35 フィーチャレイヤの REST エンドポイント... 36 その他のレイヤ... 39
はじめに スタートアップガイドについて 本スタートゕップガドは初めて ArcGIS Runtime SDK for Windows Phone を使用してモバルマッピングゕプリケーションを構築する開発者の方に最も基本的な開発手順の流れを紹介するものです 本書をお読み頂くことで ArcGIS Runtime SDK for Windows Phone ラブラリの入手方法およびラブラリを使用したモバルマッピングゕプリケーション開発の基礎を理解することができます ArcGIS Runtime SDK for Windows Phone とは ArcGIS Runtime SDK for Windows Phone とは Windows Phone の高い操作性 表現力と ArcGIS for Server などのオンラン GIS リソースを統合したゕプリケーションを開発するために提供される API ラブラリです ArcGIS Runtime SDK for Windows Phone の詳細は下記をご参照ください ArcGIS Runtime SDK for Windows Phone: http://www.esrij.com/products/arcgis/mobile/arcgis-for-smartphones/arcgis-for-windows-phone/ ArcGIS Runtime SDK for Windows Phone の開発環境 本ガドでは以下の環境にて ArcGIS Runtime SDK for Windows Phone を用いたモバルマッピング ゕプリケーションの開発手順を紹介します 本ガドの手順を実行する前に以下の環境がご使用のマシン に適切にセットゕップされている必要があります 開発環境 OS:Windows 7 もしくは Windows Vista SP2 開発ツール :Windows Phone SDK 7.1 ArcGIS Runtime SDK for Windows Phone がサポートする最新の動作環境につきましては下記をご参照ください ArcGIS Runtime SDK for Windows Phone 動作環境 : http://www.esrij.com/products/arcgis/mobile/arcgis-for-smartphones/arcgis-for-windows-phone/envir onments/ 1
ArcGIS Runtime SDK for Windows Phone スタートアップ ガイド v10.1.x モバイル マッピング アプリケーションの開発 API ライブラリのインストール ArcGIS Runtime SDK for Windows Phone を用いてモバ ル マッピング ゕプリケーションを開発する には まず Runtime SDK に含まれる API ラ ブラリを入手する必要があります 以下の手順に従い ArcGIS Resources から ンストールしてください 以下の手順はバージョン 3.0 を例としています 1. ArcGIS Resources にゕクセスします ArcGIS Resources http://resources.arcgis.com/ 2. ページ右上の [Sign In] をクリックします 2
3. Esri グローバルゕカウントを使用してログンします ( グローバルゕカウントをお持ちでない 場合は [Create a new Esri Global Account] をクリックしてゕカウントを作成してください ) 4. ページ左側の [Popular Communities] 一覧から [All Communities >] をクリックします 5. [Communities] のページに移動します 3
6. ページ右側の [Native SDK (Runtime)] 一覧から [Windows Phone] をクリックします 7. ArcGIS Runtime SDK for Windows Phone ページに移動します ページ内のバージョンリ ンク ([Version x.x]) をクリックします 4
8. ダウンロードページに移動します ページ内の [ArcGISRuntimeSDKxxforWindowsPhone.exe] をクリックします 9. ラセンス使用許諾条項に同意する場合は [Accept] をクリックします 10. ページ下部に表示されるダゕログの [ 実行 ] をクリックします 使用されている Web ブラウザの種類によって ダゕログの表示形式が異なります 5
11. [ArcGIS Runtime SDK x.x for Windows Phone Setup] ダゕログボックスが表示されます [Next] をクリックします 12. 使用許諾契約書に同意する場合は [I accept the license agreement] を選択し [Next] をク リックします 6
13. API ラブラリのンストールデゖレクトリを必要に応じて変更し [Next] をクリックしま す 14. [Install] をクリックします 15. ンストールが開始されます 7
16. ンストールが完了したら [Finish] をクリックします 8
モバイルマッピングアプリケーションの開発 以下の手順では Microsoft Visual Studio 2010 または Visual Studio 2010 Express for Windows Phone を用いて ArcGIS Runtime SDK for Windows Phone を使用したモバルマッピングゕプリケーションのサンプルを作成します 本スタートゕップガドではコードビハンドのプログラミング言語として C# を使用します 本スタートゕップガドでは Windows Phone エミュレーター上でモバルマッピングゕプリケーションを実行します Windows Phone 端末で実行する方法は Microsoft 社のページをご参照ください API ライブラリ参照の追加 1. Visual Studio 2010 を起動し [ フゔル ] > [ 新規作成 ] を選択し [ プロジェクト ] をクリッ クします 9
2. 新しいプロジェクトダゕログにて [ ンストールされたテンプレート ] セクションから [Visual C#] > [Silverlight for Windows Phone] を選択し [Windows Phone ゕプリケーション ] を選択します 必要に応じて [ 名前 ] [ 場所 ]( ソリューションの格納デゖレクトリ ) [ ソリューション名 ] を変更して [OK] ボタンをクリックします 3. [ 新しい Windows Phone ゕプリケーション ] ダゕログにて対象の Windows Phone OS のバージョンから [Windows Phone OS 7.1] を選択し [OK] ボタンをクリックします 10
4. 新しい Windows Phone ゕプリケーションのプロジェクトを含むソリューションが作成され ます 5. ArcGIS Runtime SDK for Windows Phone ラブラリの参照設定を追加します ソリューシ ョンエクスプローラーから [ 参照設定 ] を右クリックし [ 参照の追加...] をクリックします 11
6. 参照の追加ダゕログにて [.NET] タブを選択し 表示される DLL フゔルの一覧から ESRI.ArcGIS.Client を選択して [OK] ボタンをクリックします [.NET] タブに表示されない場合は [ 参照 ] タブより API ラブラリのンストールデゖレクトリ ( 例 :C:\Program Files (x86)\esri SDKs\WindowsPhone71\vx.x) に移動して ESRI.ArcGIS.Client.dll を選択します 7. ソリューションエクスプローラーから Windows Phone ゕプリケーションプロジェクトに API ラブラリの参照が追加されたことを確認します 12
ArcGIS Runtime SDK for Windows Phone スタートアップ ガイド v10.1.x Map コントロールの追加 以下では モバ ル マッピング ゕプリケーション上に地図を表示させるために Map コントロールを追加 する手順を紹介します 1. Windows Phone ゕプリケーション プロジェクト の MainPage.xaml の XAML ビューを開 きます 2. 参照を追加した API ラ ブラリの名前空間を宣言します <Phone> タグの属性として以下の 1 行を追加します xmlns:esri="clr-namespace:esri.arcgis.client;assembly=esri.arcgis.client" 上記の手順により API ラ ブラリのクラスを esri という名前空間で参照することが可能に なります 3. Windows Phone ゕプリケーション プロジェクト の MainPage.xaml の XAML ビューを開 き ContentPanel という名前の <Grid> タグ内に <esri:map> タグを追加します <esri:map x:name= MyMap ></esri:map> 上記のコードでは esri 名前空間内の Map コントロールを追加し Name 属性を指定して Map コントロールに MyMap という名前を付けています 13
4. 追加した Map コントロールで表示するレヤを追加するために <esri:map> タグ内に以下のコードを追加し Map コントロールに Layers プロパテゖを指定します ( 備考 ) この例で記述している Map タグ内の Map.Layers の記述は省略することができます <esri:map.layers> <esri:arcgistiledmapservicelayer Url="http://server.arcgisonline.com/ArcGIS/rest/ services/world_street_map/mapserver"/> </esri:map.layers> 上記のコードでは Map コントロールの Layers プロパテゖに背景地図のレヤとして ArcGISTiledMapServiceLayer クラスを追加しています また追加した ArcGISTiledMapServiceLayer クラスの URL プロパテゖにデータソースとして Esri 社がホストしている ArcGIS Online の道路地図のサービスを指定しています Map コントロールの Layers プロパテゖについての詳細は トピックス :Map コントロールの Layers プロパテゖ を参照してください 14
5. 必要に応じて TitlePanel という名前の <StackPanel> タグ内の ApplicationTitle という名前の <TextBlock> にゕプリケーション名を PageTitle という名前の <TextBlock> にページタトルを入力します ここでは ゕプリケーション名を モバルマッピングゕプリケーション ページタトルを サンプル としています <StackPanel x:name="titlepanel" Grid.Row="0" Margin="12,17,0,28"> <TextBlock x:name="applicationtitle" Text=" モバイルマッピングアプリケーション " Style="{StaticResource PhoneTextNormalStyle}"/> <TextBlock x:name="pagetitle" Text=" サンプル " Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> </StackPanel> 6. Visual Studio の標準ツールバーの Windows Phone プロジェクトのターゲット として [Windows Phone Emulator(JA)] を選択します 15
7. プロジェクトをデバッグ実行します Visual Studio のメニューから [ デバッグ ] を選択し デ バッグ開始をクリックします デバッグ実行が開始され Windows Phone エミュレーター上でモバルマッピングゕプリ ケーションが開始されます モバルマッピングゕプリケーションが正常に実行されていることが確認できたら Visual Studio のデバッグを停止します Windows Phone エミュレーター上では マウスのドラッグによる地図移動およびダブルクリックによる地図の定率拡大操作のみがサポートされています ( マウスホールやキーボード操作による地図の拡大 / 縮小などの操作が必要な場合は これらの機能をコーデゖングによって実装していただく必要があります ) 実機では ピンチ/ ストレッチによる拡大 / 縮小操作など ジェスチャによる各種ナビゲーション操作が Map コントロールに標準機能として実装されています ( 詳細は マップのナビゲート を参照してください ) 16
地図の切り替え 以下では モバルマッピングゕプリケーション上に表示する地図を切り替える手順を紹介します 1. <esri:map.layer> タグ内の <esri:arcgistiledmapservicelayer> の ID プロパテゖを使用して レヤに BaseLayer という ID を設定します <esri:map.layers> <esri:arcgistiledmapservicelayer ID="BaseLayer" Url="http://server.arcgisonline.com/ArcGIS/rest/^ services/world_street_map/mapserver"/> </esri:map.layers> 2. PhoneApplicationPage の ApplicationBar プロパテゖを設定し モバルマッピングゕプリケーションのゕプリケーションバーを設定します MainPage.xaml の最も外側のタグである <phone:phoneapplicationpage> タグ内に以下のコードを追加します ( もしくは MainPage.xaml 内でコメントゕウトされている <phone:phoneapplicationpage.applicationbar> のコメントゕウトを解除し コードを以下のように修正します ) <phone:phoneapplicationpage.applicationbar> <shell:applicationbar IsVisible="True" IsMenuEnabled="True"> <shell:applicationbar.menuitems> <shell:applicationbarmenuitem Text=" 航空写真 " Click="Menu_ItemSelected" /> <shell:applicationbarmenuitem Text=" 道路地図 " IsEnabled="True" Click="Menu_ItemSelected"/> <shell:applicationbarmenuitem Text=" 地形図 " Click="Menu_ItemSelected"/> </shell:applicationbar.menuitems> </shell:applicationbar> </phone:phoneapplicationpage.applicationbar> 17
上記のコードでは ゕプリケーションのメン画面の下部に表示される [ ゕプリケーションバー ] に表示されるメニューゕテムを指定しています ここでは 航空写真 道路地図 地形図 という 3 つのメニューゕテムを追加しています また それぞれのメニューゕテムをクリックした際に発生するベントとして Click="Menu_ItemSelected" というベントを追加しています 3. XAML ビューにおいて 上記で追加した Click="Menu_ItemSelected" 上で右クリックし [ ベントハンドラーへ移動 ] をクリックします 18
4. MainPage.xaml.cs に Menu_ItemSelected ベントのベントハンドラが追加されます Windows Phone ゕプリケーションでは.xaml フゔルにゕプリケーションの外観を記述し コードビハンドフゔルと呼ばれるフゔル (C# の場合は.cs VB.NET の場合は.vb フゔルにゕプリケーションのロジックを記述します MainPage.xaml.cs は Map コントロールの追加 のステップでモバルマッピングゕプリケーションの外観を記述した MainPage.xaml のコードビハンドフゔルです Menu_ItemSelected ベントのベントハンドラの処理を記述する際に使用するクラスの名前空間を記述します ArcGISTiledMapServiceLayer クラスを使用するために ESRI.ArcGIS.Client 名前空間の使用を ApplicationBarMenuItem クラスを使用するために Microsoft.Phone.Shell 名前空間の使用を宣言します using Microsoft.Phone.Shell; using ESRI.ArcGIS.Client; 19
5. 前途した手順で追加されたメニューゕテムが選択された際に発生するベント (Menu_ItemSelected) のベントハンドラの処理を MainPage.xaml.cs に記述します private void Menu_ItemSelected(object sender, EventArgs e) { ArcGISTiledMapServiceLayer arcgistiledlayer = MyMap.Layers["BaseLayer"] as ArcGISTiledMapServiceLayer; ApplicationBarMenuItem menuitem = sender as ApplicationBarMenuItem; switch (menuitem.text) { case " 航空写真 ": arcgistiledlayer.url = "http://services.arcgisonline.com/arcgis/^ rest/services/world_imagery/mapserver"; break; case " 道路地図 ": arcgistiledlayer.url = "http://services.arcgisonline.com/arcgis/^ rest/services/world_street_map/mapserver"; break; case " 地形図 ": arcgistiledlayer.url = "http://services.arcgisonline.com/arcgis/^ rest/services/world_topo_map/mapserver"; break; } } 20
上記のコードでは ゕプリケーションバーの選択されたゕテムに応じて Map コントロール内の Layers プロパテゖに追加したレヤ (ArcGISTieldMapServiceLayer) の URL プロパテゖを変更することで レヤが参照する背景地図サービスを切り替えています 使用している URL はいずれも Esri 社がホストしている ArcGIS Online の地図サービスです Map コントロールの Layers プロパテゖについての詳細は トピックス :Map コントロールの Layers プロパテゖ を参照してください 6. デバッグを行い ゕプリケーションバーが追加され 任意のメニューを選択することで 地図 が切り替わることを確認します 21
主題図の追加 以下ではモバルマッピングゕプリケーション上の地図に主題図を表示する手順を紹介します 1. <esri:map.layer> タグ内の <esri:arcgistiledmapservicelayer> の下に以下のコードを追加します <esri:featurelayer Url="http://sampleserver1.arcgisonline.com/ ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5 /> 上記のコードでは Map コントロールの追加 のステップで追加した 背景地図 (ArcGISTiledMapServiceLayer) の上に 米国の州のポリゴンを表す示す地図を追加しています 2. 地図の初期表示範囲を変更します <esri:map> の Extent プロパテゖを以下のように指定します <esri:map x:name="mymap" Extent="-15000000,2000000,-7000000,8000000"> 22
3. デバッグを行い 背景地図の上に米国の州を黒い線で象ったポリゴン主題図が表示されること を確認します この手順では Map コントロールの Layers プロパテゖに FeatureLayer クラスを追加し背景レヤと重ね合わせて表示しました Map コントロールに追加することができる各種レヤの詳細については レヤの種類 を参照してください 以上でサンプルゕプリケーションの開発は終了です より高度なゕプリケーションの開発に関する参考ドキュメントやサンプルの詳細については 次のステップ をご参照ください 23
マップのナビゲート 以下ではモバルマッピングゕプリケーションに使用する地図のナビゲーションについて紹介します ArcGIS Runtime SDK for Windows Phone の Map コントロールは Windows Phone デバス上で以 下のジェスチャによる地図操作をサポートしています ジェスチャ パン / ドラッグ 地図操作 画面を触り 触ったまま指を動かすことで 地図を移動する ピンチ 画面の 2 箇所を別々の指で触り その間隔を狭めることで 地図を縮小する ストレッチ 画面の 2 箇所を別々の指で触り その間隔を広げることで 地図を拡大する ダブルタップ 画面の 1 箇所をすばやく 2 回触ることで 地図を一定の 倍率で拡大する フリック 画面を触り 勢いをつけて指を動かすことで 地図を移動す る 24
アプリケーションの公開について ArcGIS Runtime SDK for Windows Phone を使用して開発したモバルマッピングゕプリケーションを Windows Phone Store に公開する場合は Esri に申請する必要があります ゕプリケーションの公開に関する詳細については弊社 Web サトの ゕプリケーション公開ガド をご参照ください 次のステップ 本スタートゕップガドでは ArcGIS Runtime SDK for Windows Phone を用いたモバルマッピングゕプリケーションを開発するための最も基本的な開発手順について紹介しました 今後 より高度なゕプリケーションを開発するためにはまず ArcGIS Resources をご参照ください ArcGIS Resources には API を利用した開発に必要となる参考ドキュメントやサンプルがすべて集約されています ArcGIS Resources http://resources.arcgis.com/ 25
ArcGIS Runtime SDK for Windows Phone スタートアップ ガイド v10.1.x ArcGIS Application for Windows Phone Windows Phone 専用の基本的な GIS の機能が実装されたモバ ル マッピング ゕプリケーションです ArcGIS for Server や ArcGIS.com で公開された GIS サービスを参照し すぐに GIS 業務に利用する ことができます Windows Phone Store から無償でダウンロードできます http://resources.arcgis.com/en/communities/smartphone-apps/01ww00000008000000.htm ArcGIS Runtime SDK for Windows Phone 本スタートゕップ ガ ドでご紹介した ArcGIS Runtime SDK for Windows Phone に含まれる API ラ ブラリをダウンロードすることができます http://resources.arcgis.com/en/communities/windows-phone-sdk/ 26
ArcGIS Runtime SDK for Windows Phone スタートアップ ガイド v10.1.x Concepts ArcGIS Runtime SDK for Windows Phone の概要 マップの追加や ArcGIS for Server サービスの利 用方法といった各種開発手法をまとめた開発者ヘルプです http://resources.arcgis.com/en/help/windows-phone-sdk/concepts/index.html#//011v0000000400000 0 Samples API を用いた機能毎のラ ブ サンプルとその開発コードです はじめて API による開発を行う場合はま ず このサンプルと同じモバ ル マッピング ゕプリケーションを作成してみることをお勧めします http://resources.arcgis.com/en/help/windows-phone-sdk/samples/start.htm 27
API Reference API のリフゔレンスです API に含まれるクラスの各種プロパテゖ メソッド等を確認することができます http://resources.arcgis.com/en/help/windows-phone-sdk/apiref/api_start.htm Forums 全世界の開発者の方が技術や知識の情報交換を行っています http://forums.arcgis.com/forums/109-arcgis-for-windows-phone-sdk 28
ArcGIS Runtime SDK for Windows Phone スタートアップ ガイド v10.1.x Gallery Esri の開発者や全世界の開発者の方が作成したモバ ル マッピング ゕプリケーションを紹介するページ です ゕプリケーションによっては サンプル コードをダウンロードすることができます http://www.arcgis.com/home/search.html?q=windows%20phone&t=content&focus=applications-mobil e&sortfield=uploaded&sortorder=desc App Showcase 実際に ArcGIS Runtime SDK for Windows Phone を使用して作成されたモバ ル マッピング ゕプリ ケーションの紹介ページです このページで紹介されているゕプリケーションは Windows Phone Store からダウンロードすることができます http://resources.arcgis.com/en/communities/windows-phone-sdk/01t100000003000000.htm 29
トピックス Map コントロールの Layers プロパティ ArcGIS Runtime SDK for Windows Phone を用いて作成されたモバルマッピングゕプリケーションには 地図を表示させるための Map コントロールが 1 つ以上追加されています Map コントロールにはゕプリケーション上で表示する地図の範囲 縮尺 座標系などの情報が保持されており 1 つ以上のレヤ ( 顧客分布図などの主題図や道路地図などの背景地図 ) を追加することができます <esri:map> <esri:map.layers> <Layer x:name="0" Url="..." /> <Layer x:name="1" Url="..." /> <Layer x:name="2" Url="..." /> </esri:map.layers> </esri:map> 上記の例のように Map コントロールの Layers プロパテゖには複数のレヤを追加することが可能であ り Map コントロールに 1 番最初に追加されたレヤ ( 上記の例ではレヤ 0) がレヤ層の最も下に表 示され かつそのレヤの座標系が Map コントロールの座標系になります 30
レイヤの種類 Map コントロールに追加できるレヤはそのデータソースの違いから マップサービスレヤとフゖーチャレヤの 2 種類に分けることができます Map コントロールのレヤのデータソースの多くは GIS サーバが提供するマップサービスです マップサービス自身もほとんどの場合 複数のレヤから構成されており あらかじめサーバ管理者によって各マップサービス内のレヤがどのようなシンボルや色を使用して地図上に表示されるかが定義されています マップサービスはこの定義に従い サーバ上で地図画像を生成しクラゕントに配信します マップサービス内のレヤではこのサーバ側で生成された地図画像をデータソースとして Map コント ロールに表示します 31
マップサービスレヤでは あらかじめサーバ側で生成された地図画像をデータソースとして使用するため サーバ側で定義されたシンボルや色と異なる方法で地図を表現することができません 一方で フゖーチャレヤではクラゕントゕプリケーション上で動的にシンボルや色を設定することができます フゖーチャレヤはマップサービスを構成する複数のレヤの 1 つに直接ゕクセスし そのレヤ内の地物の座標および属性情報を取得して ゕプリケーション上で動的に描画を行います Windows Phone のモバルマッピングゕプリケーションでは多くの場合において シンボル情報等の 変更が必要ない背景地図にマップサービスレヤを使用し ユーザの操作に応じて表示を対話的に変更 する必要がある主題図にフゖーチャレヤを使用します 32
マップサービスレイヤ マップサービスレヤが利用する GIS サーバのマップサービスは REST 形式で公開されており マップサービスレヤはこの REST サービスのエンドポントにゕクセスすることで GIS サーバが生成したマップサービスの画像を表示することができます マップサービスレヤには ArcGIS for Server が公開する様々なマップサービスや Bing Maps サービスなど様々なサービスに対応するために 以下のようなマップサービスレヤクラスが用意されています マップサービスレイヤクラス : ArcGISTiledMapServiceLayer ArcGIS for Server のマップキャッシュサービスをデータソース として使用します ArcGISDynamicMapServiceLayer ArcGIS for Server のダイナミックマップサービスをデータソー スとして使用します ArcGISImageServiceLayer ArcGIS for Server のイメージサービスをデータソースとして使 用します マップサービスレヤクラスのデータソースを指定するには クラスの Url 属性にマップサービスの REST エンドポントを指定します 本スタートゕップガドで紹介したコードでは Esri 社がホストしている ArcGIS Online の世界道路地図の REST エンドポントを <esri:arcgistiledmapservicelayer> タグの Url プロパテゖに指定しています 33
マップサービスレイヤの REST エンドポイント マップサービスレヤが利用する ArcGIS for Server のマップサービスの REST エンドポントは ArcGIS for Server をンストールするとサーバに構成される ArcGIS Services Directory と呼ばれる簡易 Web ゕプリケーションから確認することができます 以下の URL より Esri 社が公開している ArcGIS for Server のマップサービスの REST エンドポントを確認することができます ArcGIS Online ArcGIS Services Directory http://server.arcgisonline.com/arcgis/rest/services Services: セクションに表示されるサービスの一覧から使用したいサービスをクリックします 例えば世界道路地図の REST エンドポントを確認するには Home ページにて [World_Street_Map] をクリックします World_Street_Map サービスの詳細が表示されます サービスの REST エンドポントはブラウザに表示 される URL です ローカルの ArcGIS for Server の ArcGIS Services Directory は Windows メニューより [ すべて のプログラム ] > [ArcGIS] > [ArcGIS for Server] > [Services Directory] と選択することでゕク セスできます 34
フィーチャレイヤ 前述した通り フゖーチャレヤはマップサービスレヤと異なり マップサービス内の 1 つのレ ヤから座標と属性情報を取得し クラゕント側で動的に描画を行います 以下は道路地図のマップサー ビスレヤ上にポントフゖーチャレヤを描画した例です フゖーチャレヤを使用することで 上図のようなグラフゖック表現に加えて レヤ上の地物の動的な 選択 ArcGIS for Server のサービスと連携した Web 編集 時間遷移によるゕニメーション表現などを 実装することができます 35
フィーチャレイヤの REST エンドポイント フゖーチャレヤもマップサービスレヤと同様に ArcGIS for Server の REST サービスを利用します しかしマップサービスレヤと異なり サービス内の個別のレヤをリソースとして指定します 以下では Esri 社が公開しているサンプルサーバからマップサービスの個別のレヤの REST エンドポントを確認します 1. Esri のサンプルサーバに接続し [Specialty] フォルダをクリックします http://sampleserver1.arcgisonline.com/arcgis/rest/services/ 2. Specialty フォルダ内の [ESRI_StatesCitiesRivers_USA] マップサービスをクリックしま す 36
3. ESRI_StatesCitiesRivers_USA のマップサービス詳細が表示されます このマップサービス には Cities( 都市 ) Rivers( 河川 ) States( 州 ) の 3 つのレヤが含まれていることがわ かります [Cities] レヤをクリックします 4. Cities レヤの詳細が表示されます Cities サービスの REST エンドポントはブラウザに表 示される URL です マップサービスレヤが使用する REST エンドポントと異なり URL の最後にマップサービス内のレヤ ID (/0) が指定されている点に注目してください 37
5. 以下の例では上記手順で確認した Cities レヤを ArcGIS Online の世界道路地図の上に重ねています フゖーチャレヤクラス (FeatureLayer) の Url プロパテゖに REST エンドポントを指定しています その他に FeatureLayer の Where プロパテゖを使用して Cities レヤの POP1990 列の値が 100000 よりも大きいレコード ( 人口が 10 万人以上 ) のみを取得する条件句を設定しています (Where="POP1990 > 100000") <esri:map x:name="mymap"> <esri:arcgistiledmapservicelayer Url="http://services.arcgisonline.com/ArcGIS/rest/^ services/world_street_map/mapserver" /> <esri:featurelayer Url="http://sampleserver1.arcgisonline.com/ArcGIS/^ rest/services/specialty/esri_statescitiesrivers_usa/^ MapServer/0" Where="POP1990 > 100000"/> </esri:map> 6. FeatureLayer クラスにはその他にもサーバからのデータの取得方式を設定する MODE プロパテゖや 自動的にポントを集約して表示するクラスタシンボルを設定するための Clusterer プロパテゖなどが用意されています 詳細は API Reference をご参照ください API Reference:FeatureLayer http://resources.arcgis.com/en/help/windows-phone-sdk/apiref/api_start.htm?esri. ArcGIS.Client~ESRI.ArcGIS.Client.FeatureLayer.html 38
その他のレイヤ ESRI.ArcGIS.Client.Toolkit.DataSources という名前空間を使用することで Map コントロールに追加することができる拡張レヤクラスがあります 以下に主なレヤをご紹介します GpsLayer Windows Phone 端末に搭載された GPS 機能と連動して現在の位置情報を表示するレヤクラスです KmlLayer Google Map や Google Earth で利用される KML を読み込み地図上に表示するためのレヤクラスで す 39
OpenSreetMapLayer オープンストリートマップをレヤとして表示するためのレヤクラスです オープンストリートマップとは 地理情報の自由な共有を目的として 誰でも自由に利用 更新をすることができる世界的な地図作成プロジェクトです WmsLayer / WmtsLayer Open Geospatial Consortium(OGC) によって策定された地図配信の標準プロトコルである WMS(Web Map Service) および WMTS(Web Map Tile Service) を地図上に表示するためのレヤクラスです 40
これらの拡張レヤクラスについても フゖーチャレヤと同様にマップサービスレヤなどと重ね合わせて使用することにより より効果的でわかりやすいモバルマッピングゕプリケーションを作成することができます 拡張レヤクラスについても Samples にオンランサンプルが公開されています 41
ArcGIS Runtime SDK for Windows Phone スタートアップガイド (v10.1.x) 2013 年 3 月 22 日第 2 版 ESRI ジャパン株式会社 http://www.esrij.com/ Copyright(C) Esri Japan. 無断転載を禁ず 本書に記載されている社名 商品名は 各社の商標および登録商標です 本書に記載されている内容は改良のため 予告なく変更される場合があります 本書の内容は参考情報の提供を目的としており 本書に含まれる情報はその使用先の自己の責任において利用して頂く必要があります