ArcGIS Runtime SDK for iOS スタートアップ ガイド

Similar documents
ArcGIS Runtime SDK for iOS スタートアップ ガイド

ArcGIS Runtime SDK for WPF インストールガイド (v10.2.5)

ArcGIS for Server での Web マップの作成方法

ArcGIS Runtime SDK for .NET アプリケーション配布ガイド

ArcGIS API for JavaScript スタートアップ ガイド

ArcGIS Pro 1.1 SDK for .NET インストール ガイド

ArcGIS for Developers 開発者アカウント作成ガイド

Web AppBuilder for ArcGIS (Developer Edition) インストールガイド

ArcGIS Runtime SDK for .NET インストール ガイド (v10.2.6)

FA/LAインストールガイド(トライアル版)

ArcGIS Runtime SDK for Windows Phone スタートアップ ガイド (v10.1.x)

リアルタイム気象ビューアー利用ガイド

SURVEY123 FOR ARCGIS スタートアップガイド 2017 年度空間情報科学野外実験

ArcGIS for Server 機能比較表

Vectorworksサイトプロテクションネットワーク版-情報2

クイックセットアップ for モバイル(iOS/Android)

クイックセットアップ for モバイル(iOS/Android)

VisualStage Type-Basic Mobile 設定&操作マニュアル(iOS 版)

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

IOWebDOC

1. Android のホーム画面 06. クイックマニュアル [ 遠隔接続編 -Android 版 -] 2. ストアの起動画面 Android を起動しますと Play ストア ( 赤枠 ) というア イコンがありますのでこちらをタップしてください 機種により表示方法は異なります ストアの初期画

WES7/WE8SシンクライアントVMwareHorizonClientアップデート手順書

改版履歴 版数 改版日付 改版内容 /03/14 新規作成 2013/03まで製品サイトで公開していた WebSAM DeploymentManager Ver6.1 SQL Server 2012 製品版のデータベース構築手順書 ( 第 1 版 ) を本 書に統合しました 2

AN1609 GNUコンパイラ導入ガイド

電子版操作マニュアル スマートデバイス版

PDF Convertor for mac スタートアップガイド

Microsoft Word - winscp-LINUX-SCPを使用したファイル転送方法について

内容 1 はじめに インストールの手順 起動の手順 Enterprise Architect のプロジェクトファイルを開く 内容を参照する プロジェクトブラウザを利用する ダイアグラムを開く 便利な機能.

KDDI Smart Mobile Safety Manager Mac OS キッティングマニュアル 最終更新日 2019 年 4 月 25 日 Document ver1.1 (Web サイト ver.9.6.0)

スライド 1

セキュアブラウザについて セキュアブラウザは デスクネッツを自宅や外出先などから安全に利用するためのツール ( アプリ ) です セキュアブラウザというアプリを使用してデスクネッツを利用します 通常のブラウザアクセスと同じようにデスクネッツをご利用頂けます 端末の紛失 盗難による情報漏えいを防ぐため

KS_GoogleApps_guide

Microsoft Word - XOOPS インストールマニュアルv12.doc

MF mypresto インストールガイド 目次 新規インストールの手順 (Windows 版 )... 2 MF mypresto の起動 (Windows 版 )... 7 新規インストールの手順 (Mac 版 )... 8 MF mypresto の起動 (Mac 版 ) 新規イン

Corporate Document

証明書インポート用Webページ

クラウドファイルサーバーデスクトップ版 インストールマニュアル ファイルサーバー管理機能 第 1.1 版 2017/01/24 富士通株式会社

更新用証明書インポートツール 操作マニュアル 2011 年 10 月 31 日 セコムトラストシステムズ株式会社 Copyright 2011 SECOM Trust Systems CO.,LTD. All rights reserved. P-1

目次 1. AOS ユーザー登録サイト AOS ユーザー登録 AOS ライセンスキー登録 ios 版アプリ インストール 起動と新規登録 初期設定とバックアップ Andro

中央大学 SSL-VPN サービス接続マニュアル (Mac 版 ) 目次 1. VPNソフトのインストール 1 2. 初回の接続 回目以降の接続 接続終了の手順 14 OS のバージョンによる設定差異等で不明点がある場合は 多摩 IT センターまでお問い合わせください

クラウドファイルサーバーデスクトップ版 インストールマニュアル 利用者機能 第 1.2 版 2019/04/01 富士通株式会社

Maple 12 Windows版シングルユーザ/ネットワークライセンス

もくじ 2 はじめに... 3 概要... 4 動作環境... 4 利用制限モードについて... 4 本マニュアルの見かた... 4 HOME アプリマネージャの基本操作... 5 HOME アプリマネージャをインストールする... 6 HOME アプリマネージャを起動する... 8 HOME アプ

intra-mart Accel Platform — OData for SAP HANA セットアップガイド   初版  

Citrix Receiver導入の手引き

WES7シンクライアントIE11アップデート手順書

試作ツールは MIT ライセンスによって提供いたします その他 内包された オープンソース ソフトウェアについてはそれぞれのライセンスに従ってご利用ください

2. FileZilla のインストール 2.1. ダウンロード 次の URL に接続し 最新版の FileZilla をダウンロードします URL: なお バージョンが異なるとファイル名が

KADIAS Mac OS X 用事前環境準備手順書

機能仕様書フォーマット

Microsoft Word - CBSNet-It連携ガイドver8.2.doc

<< 目次 >> 1 PDF コンバータのインストール ライセンスコードの入力 PDF にフォントを埋め込みたい場合の設定 PDF オートコンバータ EX で使用しない場合 PDF コンバータ単体で使用する場合の説明 PDF コンバータのアン

MotionBoard Ver. 5.6 パッチ適用手順書

DigiCert EV コード署名証明書 Microsoft Authenticode署名手順書

ESOTERIC ASIO USB DRIVER インストールマニュアル Windows 用 システム推奨条件 2 インストールで使用する言語を選択して 次へ ボタンをクリックする Intel Core 2 Duo 以上のプロセッサー搭載コンピュータ 搭載メモリ 1GB 以上 対応 OS Windo

捺印ツールを使う 捺印ツールをインストールする 1. [ パソコン決裁 6 試用版捺印ツール ] の [ ダウンロード ] ボタンをクリックします 2. [ 実行 ] ボタンをクリックし [SetupDstmp32.exe] ファイルを実行します ご利用のブラウザまたはバージョンにより画面が異なりま

証明書インポート用Webページ

939061j

目次 1.1. AOS ユーザー登録 AOS ライセンスキー登録 ios 版アプリ インストール 起動と新規登録 初期設定とバックアップ Android 版アプリ インストール...

PDFConverter

VisualStage Type-Basic Mobile 設定&操作マニュアル(Andoroid OS版)

ご注意 1) 本書の内容 およびプログラムの一部 または全部を当社に無断で転載 複製することは禁止されております 2) 本書 およびプログラムに関して将来予告なしに変更することがあります 3) プログラムの機能向上のため 本書の内容と実際の画面 操作が異なってしまう可能性があります この場合には 実

SAMBA Stunnel(Mac) 編 1. インストール 1 セキュア SAMBA の URL にアクセスし ログインを行います xxxxx 部分は会社様によって異なります xxxxx 2 Mac OS 版ダウンロー

メール設定 Outlook Express 6 の場合 (Windows 98 ~ XP) Outlook Express 6 の場合 (Windows 98 ~ XP) Windows XP に付属する Outlook Express 6 に αweb のメールアカウントを追加する方法についてご案

リモートアクセスライト インストールガイド リモートアクセスライト インストールガイド 第 1. 1 版 2017 年 12 月 12 日

VBAのライセンス登録ガイド

Microsoft SQL Server 2016 インストール手順書 (Standard) この文書は SQL Server 2016 のインストール手順について簡潔にまとめたもので Microsoft SQL Server 2016 Books Online に記述されている一部を抜粋した内容で

VECLOS Audio Driver インストールマニュアル Windows 用 2 次へ ボタンをクリックする 対応 OS Windows 7 (32bit 版 64bit 版 ) Windows 8( 32bit 版 64bit 版 ) Windows 8.1( 32bit 版 64bit 版

クラウドバックアップサービスアンインストールガイド 第 1.3 版 平成 29 年 1 月 24 日 株式会社大塚商会

目次 メールの基本設定内容 2 メールの設定方法 Windows Vista / Windows 7 (Windows Live Mail) Windows 8 / Windows 10 (Mozilla Thunderbird) 3 5 Windows (Outlook 2016) メ

Windows ログオンサービス インストールマニュアル 2018/12/21 1

1. 事前準備 ひかりワンチーム SP は インターネットにアクセスして利用するサービスです ご利用いただくには インターネット接続環境及びインターネットに接続可能な端末 (PC 等 ) WEB ブラウザが必要となります 以下のサービス推奨動作環境に合わせ 事前にご用意ください ひかりワンチーム S

Active Directory フェデレーションサービスとの認証連携

RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社

SimLab Plugins for SketchUp 評価版インストールおよびアクティベート方法 注意事項 評価版をお使い頂くには 評価用ライセンスでのアクティベートが必要です 評価用ライセンスファイルの取得を行い 手動でアクティベートする必要があります 各 SimLab プラグインは 評価用とし

1. はじめに 1.1. Office365 ProPlus ライセンスについて 九州産業大学に在籍中の学生 教職員の方は Office365 ProPlus のライセンスを 1 つ保持しています 1 つの Office365 ライセンスで Office365 ProPlus( 最新版の Offic

ユーザーズマニュアル

Hik-Connect アカウントにデバイスを追加する方法ユーザーは Hik-Connect APP ウェブポータル ivms4500 アプリまたは ivms クライアント経由で Hik-Connect 機能を有効にすることができます 注 : iv

目次. ご利用上の注意. アプリをインストールする. アプリを起動する. アプリの初期設定を行う. アプリのログインパスワードを変更する 6. アプリのメニューを操作する 7. ステータスを送信する 8. 定期位置通知間隔を変更する 9. 随時検索をする 0. メッセージ連絡をする. メッセージの連

メール設定

クイックセットアップ for モバイル(Windows)

2. 生田仮想デスクトップ PC の接続方法 生田仮想デスクトップ PC に接続する方法は 次の 2 通りです 1. HTML アクセス Internet Explorer や Safari などのブラウザを用います PC に特別なソフトウェアをインストールす る必要が無いので 管理者権限をもってい

Microsoft PowerPoint ï½žéł»å�’å–¥æœ�ㇷㇹㅃㅀ㇤ㅳㇹㅋㅼㅫ曉逃.ppt [äº™æ‘łã…¢ã…¼ã…›]

Maple 12 Windows版シングルユーザ/ネットワークライセンス

[給与]給与奉行LANPACK for WindowsNTのサーバーセットアップのエラー

クイックセットアップ for モバイル(Windows)

SimLabプラグインは各機能を15回分評価版として試用できます

CLUSTERPRO MC StorageSaver for BootDisk 2.1 (for Windows) インストールガイド 2016(Mar) NEC Corporation はじめに 製品導入の事前準備 本製品のインストール 本製品の初期設定 本製品のアンインストール

VPN 接続の設定

Transcription:

10.2.x ArcGIS Runtime SDK for ios スタートアップガイド

目次 はじめに... 1 このスタートアップガイドについて... 1 ArcGIS Runtime SDK for ios とは... 1 ArcGIS Runtime SDK for ios の開発環境... 2 モバイルマッピングアプリケーションの開発... 3 ライブラリのインストール... 3 Xcode プロジェクトの構成... 9 Xcode プロジェクトの作成... 9 ArcGIS フレームワークの追加... 11 関連するライブラリの追加... 12 フラグの修正... 13 リソースバンドルの追加... 14 アプリケーションの開発... 15 地図の表示... 15 主題図の追加... 19 位置情報の表示... 21 マップのナビゲート... 23 ライセンス認証... 24 次のステップ... 25 ArcGIS for Developers... 25 トピックス... 29 AGSMapView オブジェクトへのレイヤの追加... 29 レイヤの種類... 30 マップサービスレイヤ... 32 マップサービスレイヤの REST エンドポイント... 33 フィーチャレイヤ... 35 フィーチャレイヤの REST エンドポイント... 36 その他のレイヤ... 41

はじめに このスタートアップガイドについて このスタートアップガイドは初めて ArcGIS Runtime SDK for ios を使用してモバイルマッピングアプリケーションを構築する開発者の方に最も基本的な開発手順を紹介するものです 本書をお読み頂くことで ArcGIS Runtime SDK for ios ライブラリの入手方法およびライブラリを使用したモバイルマッピングアプリケーション開発の基礎を理解することができます ArcGIS Runtime SDK for ios とは ArcGIS Runtime SDK for ios とは ios 特有の操作性や機能と ArcGIS for Server のオン ライン GIS リソースを統合したアプリケーションを開発するために提供される API ライ ブラリです ArcGIS Runtime SDK for ios の詳細は下記をご参照ください ArcGIS Runtime SDK for ios: http://www.esrij.com/products/arcgis-runtime-sdk-for-ios/ pg. 1

ArcGIS Runtime SDK for ios の開発環境 本ガイドでは以下の環境にて ArcGIS Runtime SDK for ios を用いたモバイルマッピングアプリケーションの開発手順を紹介します 本ガイドの手順を実行する前に以下の環境がご使用のマシンに適切にセットアップされている必要があります また ArcGIS Runtime SDK for ios バージョン 10.2.4 以降では 開発言語として Objective-C と Swift を使用できます ( 本ガイドでは Objective-C を使用して紹介していきます ) 開発環境 OS: Mac OS X 10.8.4 以降 開発キット :XCode 5(iOS SDK 7) 以降 ArcGIS Runtime SDK for ios がサポートする最新の動作環境につきましては下記をご参照 ください ArcGIS Runtime SDK for ios 動作環境 : http://www.esrij.com/products/arcgis/developer/arcgis-runtime-sdks/arcgis-runtime-sdk -for-ios/environments/ pg. 2

モバイルマッピングアプリケーションの開発 ライブラリのインストール ArcGIS Runtime SDK for ios を用いてモバイルマッピングアプリケーションを開発する には まずライブラリを入手する必要があります 以下の手順に従い ArcGIS for Developers からライブラリをインストールしてください 以下の手順はバージョン 10.2 以降のものです バージョン 10.2 より前の SDK を使用 する場合は以下のページよりダウンロードしてください (Esri グローバルアカウントでの ログインが必要になります ) http://www.esri.com/apps/products/download/index.cfm?fuseaction=download.al l#arcgis_runtime_sdk_for_ios 1. ArcGIS for Developers にアクセスします ArcGIS for Developers: https://developers.arcgis.com/en/downloads 2. ArcGIS for Developers の認証ページに遷移します ArcGIS for Developers または ArcGIS Online 組織向けプランのアカウント情報を入力してログインして下さい ArcGIS for Developers 開発者アカウントをお持ちでない方は 以下のページにある ArcGIS for Developers 開発者アカウント作成ガイド を参考にアカウントを作成してログインして下さい http://www.esrij.com/products/arcgis-runtime-sdk-for-ios/documents/ pg. 3

ArcGIS Runtime SDK for ios スタートアップ ガイド 3. ArcGIS Runtime SDK for ios の Version 赤枠 をクリックし 表示されたバ ージョン選択画面で ダウンロードするバージョンをチェックします 4. [DOWNLOAD] ボタンをクリックします pg. 4

ArcGIS Runtime SDK for ios スタートアップ ガイド 5. ダウンロードした AGSRuntimeSDKiOSv<バージョン>.pkg ファイルをダブ ルクリックして インストールを開始します 6. [ArcGIS_Installer のインストール] ダイアログ ボックスが表示されます [続 ける] をクリックします 7. 表示された内容を確認して [続ける] をクリックします pg. 5

ArcGIS Runtime SDK for ios スタートアップ ガイド 8. 使用許諾契約を確認して [続ける] をクリックします 9. 使用許諾契約の条項に同意する場合は [同意する] をクリックします pg. 6

ArcGIS Runtime SDK for ios スタートアップ ガイド 10. インストール先を選択して [続ける] をクリックします 11. [インストール] をクリックして インストールを開始します pg. 7

ArcGIS Runtime SDK for ios スタートアップ ガイド 12. インストールが開始されます 13. インストールが終了したら [閉じる] をクリックしてインストール作業を完了し ます pg. 8

Xcode プロジェクトの構成 Xcode は ios アプリケーションを開発するための標準の統合開発環境です Xcode と ios SDK は Mac App Store からダウンロードすることができます ArcGIS Runtime SDK for ios を使用してモバイルマッピングアプリケーション開発するために Xcode に組み込みのプロジェクトテンプレートを使用できます ここでは 開発をスタートするために必要となるプロジェクトの作成と設定方法を説明します ( 以下の手順では Xcode 6.0.1 を使用しています ) Xcode プロジェクトの作成 1. Xcode を起動して 表示されたダイアログで [Create a new Xcode project] を クリックします 2. Single View Application テンプレートを選択して [Next] をクリックします pg. 9

ArcGIS Runtime SDK for ios スタートアップ ガイド 3. Product Name に sample と入力します 次に Organization Name と Organization Identifier に適当な値を入力し [Next] をクリックします 4. 作成場所を指定して [Create] をクリックするとプロジェクトが作成されます pg. 10

ArcGIS Runtime SDK for ios スタートアップ ガイド ArcGIS フレームワークの追加 1. ArcGIS フレームワークをプロジェクトに追加するために フレームワーク検索 パスに ArcGIS を加えます [Build Settings] タブを選択し 検索バーで "Framework Search Paths" と入力して [Framework Search Paths] セクショ ンを検索します 2. [TARGETS] カラム 赤枠 をダブルクリックし 表示されたダイアログで [+] を クリックして $(HOME)/Library/SDKs/ArcGIS/iOS/ と入力し パスを追加 します pg. 11

ArcGIS Runtime SDK for ios スタートアップ ガイド 関連するライブラリの追加 ArcGIS ライブラリが依存する フレームワークとライブラリを追加します 1. [Build Settings] タブを選択し 検索バーで "Enable Modules" と入力して [Enable Modules(C and Objective-c)] セクションを検索します 2. [Enable Modules(C and Objective-c)] セクションで [Yes] を選択します こ れによりプロジェクトが ArcGIS によって必要とされるフレームワークとライ ブラリを参照できるようになります 上記手順以外にも 手動で必要となる以下のフレームワークを追加することも できます プロジェクト作成時に 既に含まれているライブラリもあります AssetsLibrary.framework CoreGraphics.framework CoreLocation.framework CoreText.framework pg. 12

Foundation.framework QuartzCore.framework MediaPlayer.framework MobileCoreServices.framework OpenGLES.framework Security.framework UIKit.framework フラグの修正 ライブラリで定義された Objective-C カテゴリが正しくロードされることを確認するため に フラグをプロジェクトに追加する必要があります 1. [Build Settings] タブを選択し 検索バーで Other Linker Flags と入力し [Other Linker Flags] セクションを検索します 2. [TARGETS] カラムをダブルクリックし 表示されたダイアログで [+] をクリッ クして -ObjC framework ArcGIS l c++ を追加します pg. 13

ArcGIS Runtime SDK for ios スタートアップ ガイド リソースバンドルの追加 Esri ロゴや現在位置を示すイメージ ファイルなどのような SDK リソースは ArcGIS.bundle ファイルに統合されています 1. Xcode アプリケーションの [File] メニューで [Add Files to <プロジェクト名 >...] をクリックします 2. ${HOME}/Library/SDKs/ArcGIS/iOS/ArcGIS.framework/Versions/Curre nt/resources インストール先がデフォルトの場合 にある ArcGIS.bundle ファイルを選択し [Add] をクリックします ${HOME}/Library フォルダはデフォルトで非表示になっています ターミナルで以下 のコマンドを入力して フォルダを表示することができます chflags nohidden ~/Library/ pg. 14

ArcGIS Runtime SDK for ios スタートアップ ガイド アプリケーションの開発 ここからは モバイル マッピング アプリケーションの開発方法の一例をご紹介します 地図の表示 1. Project Navigator で Main.storyboard ファイルを選択します 次に 地図を 表示するための View オブジェクトを追加します Object Library で View オ ブジェクトを 既に用意されている View 上にドラッグ&ドロップで追加します Utilities エリアが表示されていない場合は 上部パネルの View ボタンで Utilities エリア を表示します 2. 追加した View オブジェクトを選択して Identity Inspector を開き [Custome Class] セクションの Class で AGSMapView と入力して return キーを押します 選択している View オブジェクトの名前が Map View に変わったことを確認します pg. 15

ArcGIS Runtime SDK for ios スタートアップ ガイド 3. ツールバーで Assistant Editor を選択し Main.storyboard ファイルと ViewController.h ファイルを表示します 次に 最初に追加した View Map View オブジェクトを control キーを押しながら ViewController.h のインタ ーフェース宣言部分の下にドラッグ&ドロップします 4. 表示されたダイアログで Name を mapview と入力し [Connect] ボタン をクリックします pg. 16

5. sampleviewcontroller.h に IBOutlet 宣言が追加されます 6. ViewController.h ファイルで下記のようにコードを記述して ArcGIS.h ヘッダ ファイルを追加します ( 赤字がコードの追加部分です ) #import <UIKit/UIKit.h> #import <ArcGIS/ArcGIS.h> @interface viewcontroller : UIViewController @property (strong, nonatomic) IBOutlet AGSMapView *mapview; @end 7. Project Navigator で ViewController.m ファイルを選択し 下記のようにコー ドを記述して viewdidload メソッド内で ArcGIS レイヤの追加を行います AGSTiledMapServiceLayer *tiledlayer = [AGSTiledMapServiceLayer tiledmapservicelayerwithurl:[nsurl URLWithString:@"https://server.arcgisonline.com/ArcGIS/rest/serv ices/world_street_map/mapserver"]]; [self.mapview addmaplayer:tiledlayer withname:@"tiled Layer"]; 上記のコードでは mapview オブジェクトに背景地図のレイヤとして ArcGISTiledMapServiceLayer クラスを追加しています また ArcGISTiledMapServiceLayer クラスの URL プロパティにデータソースとして Esri 社がホストしている ArcGIS Online の世界の道路地図のサービスを指定しています pg. 17

8. ツールバーで [Run] をクリックし iphone シミュレータでプロジェクトをデ バッグします 9. デバッグ実行が開始され iphone シミュレータ上でモバイルマッピングアプ リケーションが起動します 10. モバイルマッピングアプリケーションが正常に実行されていることが確認でき たら デバッグを停止します pg. 18

主題図の追加 以下ではモバイルマッピングアプリケーション上の地図に主題図を表示する手順を紹介 します 1. 背景地図のレイヤを追加したコードの後に 下記のように主題図を追加するコー ドを追加します AGSDynamicMapServiceLayer *dynamiclayer = [AGSDynamicMapServiceLayer dynamicmapservicelayerwithurl:[nsurl URLWithString:@"http://sampleserver1.arcgisonline.com/ArcGIS/res t/services/specialty/esri_statecityhighway_usa/mapserver"]]; dynamiclayer.visiblelayers = [NSArray arraywithobjects:[nsnumber numberwithint:2], nil]; [self.mapview addmaplayer:dynamiclayer withname:@"dynamic Layer"]; 上記のコードでは 地図の表示 のステップで追加した ArcGISTiledMapServiceLayer の上に ArcGISDynamicMapServiceLayer クラスを追加しています また ArcGISDynamicMapServiceLayer クラスの URL プロパティにデータソースとして Esri 社がホストしている ArcGIS Online のデータを追加しています このデータには複数のレイヤが含まれているため ArcGISDynamicMapServiceLayer クラスの visiblelayers プロパティで 特定のレイヤ ( 米国の群のポリゴン ) のみを表示しています 2. 地図の初期表示範囲を変更します 主題図を追加したコードの後に 下記のよう に初期表示範囲を設定するコードを追加します AGSEnvelope *envelope = [AGSEnvelope envelopewithxmin:-15000000 ymin:200000 xmax:-7000000 ymax:8000000 spatialreference:self.mapview.spatialreference]; [self.mapview zoomtoenvelope:envelope animated:no]; pg. 19

3. デバッグを行い 背景地図の上に米国の群のポリゴンが州単位で色分け表示され た主題図が表示されていることを確認します この手順では ArcGISDynamicMapServiceLayer クラスを追加し 背景レイヤと重ね合わ せて表示しました 追加できる各種レイヤの詳細については レイヤの種類を参照してくだ さい pg. 20

位置情報の表示 以下では 地図が読み込まれた後に ios デバイスの位置情報を地図上に表示します 1. 地図が読み込まれたイベントをハンドリングするために デリゲートを実装する ことを宣言します ViewController.h ファイルに下記のようにコードを追加しま す ( 赤字がコードの追加部分です ) @interface sampleviewcontroller : UIViewController <AGSMapViewLayerDelegate> AGSMapViewLayerDelegate プロトコルでは 地図に追加されているレイヤ に関連するイベント処理メソッドが定義されています 2. ViewController.m を開き 初期表示範囲を設定したコードの後に 下記のよう にコードを追加して AGSMapView オブジェクトのデリゲートを設定します self.mapview.layerdelegate = self; 3. ViewController.m ファイルに位置情報を地図上に表示するコードを追加します -(void) mapviewdidload:(agsmapview*)mapview { self.mapview.locationdisplay.autopanmode = AGSLocationDisplayAutoPanModeNavigation; } [self.mapview.locationdisplay startdatasource]; 上記のコードでは 地図が読み込まれたときに 位置情報を地図上に表示します AGSLocationDisplay クラスの AutoPanMode ではいくつかのモードが利用でき 徒歩や車での移動の際に 現在位置の情報に基づいた最適なナビゲートを提供します pg. 21

ArcGIS Runtime SDK for ios スタートアップ ガイド 4. デバッグを行うと 現在地に青丸が表示されます シミュレータでは 固定の位 置が返されます ios シミュレータの [Debug] メニューにある [Location] か ら現在位置の設定が行えます 位置情報の利用を許可するかのメッセージが表示 された場合は [OK] をタップします ios 8 以降で位置情報を使用するには Info.plist ファイル に NSLocationWhenInUseUsageDescription" Key を追加する必要があり ます Value に入力した値は 位置情報の利用許可を求めるメッセージとし て表示されます 以上でサンプル アプリケーションの開発は終了です より高度なアプリケーションの開発に 関する参考ドキュメントやサンプルの詳細については 次のステップ をご参照ください pg. 22

マップのナビゲート 以下ではモバイルマッピングアプリケーションに使用する地図のナビゲーションについて 紹介します ArcGIS Runtime SDK for ios の AGSMapView オブジェクトは ios デバイス上で以下 のジェスチャによる地図操作をサポートしています ジェスチャ ピンチイン 地図操作 画面の 2 箇所を別々の指で触り その間隔を 狭めることで地図を縮小する ピンチアウト 画面の 2 箇所を別々の指で触り その間隔を 広げることで地図を拡大する ダブルタップ 画面の 1 箇所をすばやく 2 回触ることで 地図を一定の倍率で拡大する 2 本指でのダブルタップ画面を 2 本の指ですばやく 2 回触ること で 地図を一定の倍率で縮小する スワイプ 画面を触り 触ったまま指を動かすことで 地 図を移動する 2 本指でのツイスト 画面を 2 本指で触り 触ったまま指を動かす ことで 地図を回転する AGSMapView の allowrotationbypinching プロパティを有効したときに利用可能 pg. 23

ライセンス認証 ArcGIS Runtime SDK for ios を使用して開発したモバイルマッピングアプリケーションを配布するには ArcGIS Runtime SDK の Basic または Standard ライセンスが必要です アプリケーションのライセンス認証方法については アプリケーション配布ガイド をご参照ください また ライセンスについての詳細は下記をご参照ください ArcGIS Runtime SDK for ios: http://www.esrij.com/products/arcgis-runtime-sdk-for-ios/details/licensing/ pg. 24

ArcGIS Runtime SDK for ios スタートアップ ガイド 次のステップ 本スタートアップ ガイドでは ArcGIS Runtime SDK for ios を用いたモバイル マッピン グ アプリケーションを開発するための最も基本的な開発手順について紹介しました 今後 より高度なアプリケーションを開発するためにはまず ArcGIS for Developers をご参照く ださい ArcGIS for Developers には SDK を利用した開発に必要となる参考ドキュメント やサンプルが集約されています ArcGIS for Developers https://developers.arcgis.com/ios/ ArcGIS Runtime SDK for ios のトップページです pg. 25

ArcGIS Runtime SDK for ios スタートアップ ガイド Guide https://developers.arcgis.com/ios/guide/introduction.htm レイヤの追加や検索 編集 解析機能などの実装方法や開発ツールの使用方法など 各種 開発手法をまとめたドキュメントです ページ タイトルの下にあるメニューで利用する言 語 Objective-C または Swift を選択できます pg. 26

API Reference https://developers.arcgis.com/ios/api-reference/ API のリファレンスです API に含まれるクラスの各種プロパティ メソッド等を確認す ることができます pg. 27

Sample Code https://developers.arcgis.com/ios/sample-code/ Esri 社の開発者が作成したサンプルコードをダウンロードすることができます pg. 28

トピックス AGSMapView オブジェクトへのレイヤの追加 ArcGIS Runtime SDK for ios を用いて作成されたモバイルマッピングアプリケーションには 地図を表示させるための AGSMapView オブジェクトが 1 つ以上追加されています AGSMapView オブジェクトにはアプリケーション上で表示する地図の範囲 縮尺 座標系などの情報が保持されており 1 つ以上のレイヤ ( 顧客分布図などの主題図や道路地図などの背景地図 ) を追加することができます 最初に追加されたレイヤ ( 下記のコードの例では Layer0 ) が最下層に表示されます Layer0 = [AGSTiledMapServiceLayer tiledmapservicelayerwithurl: url0]; [self.mapview addmaplayer:layer0 withname:@"layer0"]; Layer1 = [AGSDynamicMapServiceLayer dynamicmapservicelayerwithurl:url1]; [self.mapview addmaplayer:layer1 withname:@"layer1"]; Layer2 = [AGSDynamicMapServiceLayer dynamicmapservicelayerwithurl:url2]; [self.mapview addmaplayer:layer2 withname:@"layer2"]; Layer2( 例 : 顧客分布図 ) Layer1( 例 : 人口分布図 ) mapview Layer0( 例 : 道路地図 ) pg. 29

レイヤの種類 AGSMapView オブジェクトに追加できるレイヤはそのデータソースの違いから マップ サービスレイヤとフィーチャレイヤの 2 種類に分けることができます レイヤのデータソースの多くは GIS サーバが提供するマップサービスです マップサービス自身もほとんどの場合 複数のレイヤから構成されており あらかじめサーバ管理者によって各マップサービス内のレイヤがどのようなシンボルや色を使用して地図上に表示されるかが定義されています マップサービスはこの定義に従い サーバ上で地図画像を生成しクライアントに配信します 地図画像の生成 地図画像の配信 マップサービス GIS サーバ マップサービス内のレイヤではこのサーバ側で生成された地図画像をデータソースとして AGSMapView オブジェクトに表示します mapview マップサービスレイヤ GIS サーバ マップサービスレイヤでは あらかじめサーバ側で生成された地図画像をデータソースと して使用するため サーバ側で定義されたシンボルや色と異なる方法で地図を表現すること ができません 一方で フィーチャレイヤではクライアントアプリケーション上で動的に pg. 30

シンボルや色を設定することができます フィーチャレイヤはマップサービスを構成する 複数のレイヤの 1 つに直接アクセスし そのレイヤ内の地物の座標および属性情報を取得し て アプリケーション上で動的に描画を行います 特定のレイヤから mapview 座標 属性情報を取得 マップサービス フィーチャレイヤ クライアント側で 動的に描画 GIS サーバ ios のモバイルマッピングアプリケーションでは多くの場合において シンボル情報等の 変更が必要ない背景地図にマップサービスレイヤを使用し ユーザの操作に応じて表示を 対話的に変更する必要がある主題図にフィーチャレイヤを使用します pg. 31

マップサービスレイヤ マップサービスレイヤが利用する GIS サーバのマップサービスは REST 形式で公開されており マップサービスレイヤはこの REST サービスのエンドポイントにアクセスすることで GIS サーバが生成したマップサービスの画像を表示することができます マップサービスレイヤには ArcGIS for Server が公開する様々なマップサービスや Bing Maps サービスなど様々なサービスに対応するために 以下のようなマップサービスレイヤクラスが用意されています マップサービスレイヤクラス : AGSTiledMapServiceLayer ArcGIS for Server のキャッシュマップサービスをデータ ソースとして使用します AGSDynamicMapServiceLayer ArcGIS for Server のダイナミックマップサービスをデー タソースとして使用します AGSImageServiceLayer ArcGIS for Server のイメージサービスをデータソースと して使用します AGSBingMapLayer Bing Maps のマップイメージサービスをデータソースと して使用します ArcGIS for Server のサービスをデータソースとして使用するマップサービスレイヤクラスのデータソースを指定するには クラスの URL 属性にマップサービスの REST エンドポイントを指定します 本スタートアップガイドで紹介したコードでは Esri 社がホストしている ArcGIS Online の世界の道路地図の REST エンドポイントを AGSTiledMapServiceLayer の URL に指定しています pg. 32

マップサービスレイヤの 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] をクリックします pg. 33

World_Street_Map サービスの詳細が表示されます サービスの REST エンドポイントは ブラウザに表示される URL です ローカルの ArcGIS for Server の ArcGIS Services Directory は Windows メニューよ り [ すべてのプログラム ] > [ArcGIS] > [ArcGIS 10.x for Server] > [Services Directory] と選択することでアクセスできます pg. 34

フィーチャレイヤ 前述した通り フィーチャレイヤはマップサービスレイヤと異なり マップサービス内の 1 つのレイヤから座標と属性情報を取得し クライアント側で動的に描画を行います 以下は世界の道路地図のマップサービスレイヤ上にポイントフィーチャレイヤを描画した例です フィーチャレイヤを使用することで 上図のようなグラフィック表現に加えて レイヤ上の 地物の動的な選択 ArcGIS for Server のサービスと連携した Web 編集などを実装するこ とができます pg. 35

フィーチャレイヤの REST エンドポイント フィーチャレイヤもマップサービスレイヤと同様に ArcGIS for Server の REST サービスを利用します しかしマップサービスレイヤと異なり サービス内の個別のレイヤをリソースとして指定します 以下では Esri 社が公開しているサンプルサーバからマップサービスの個別のレイヤの REST エンドポイントを確認します 1. Esri のサンプルサーバに接続し [Specialty] フォルダをクリックします http://sampleserver1.arcgisonline.com/arcgis/rest/services/ pg. 36

2. Specialty フォルダ内の [ESRI_StatesCitiesRivers_USA] マップサービスを クリックします pg. 37

3. ESRI_StatesCitiesRivers_USA のマップサービス詳細が表示されます このマ ップサービスには Cities( 都市 ) Rivers( 河川 ) States( 州 ) の 3 つのレイ ヤが含まれていることがわかります [Cities] レイヤをクリックします 4. Cities レイヤの詳細が表示されます Cities サービスの REST エンドポイントはブラウザに表示される URL です マップサービスレイヤが使用する REST エンドポイントと異なり URL の最後にマップサービス内のレイヤ ID(/0) が指定されている点に注目してください pg. 38

5. 以下の例では上記手順で確認した Cities レイヤを ArcGIS Online の世界の道 路地図の上に重ねています フィーチャレイヤクラス (AGSFeatureLayer) の URL に REST エンドポイントを指定しています その他に AGSFeatureLayer の definitionexpression プロパティを使用して Cities レイヤの POP1990 列 の値が 100000 よりも大きいレコード ( 人口が 10 万人以上 ) のみを表示する と言う条件を設定しています AGSTiledMapServiceLayer *tiledlayer = [AGSTiledMapServiceLayer tiledmapservicelayerwithurl:[nsurl URLWithString:@"http://services.arcgisonline.com/ArcGIS/rest/ser vices/world_street_map/mapserver"]]; [self.mapview addmaplayer:tiledlayer withname:@"tiled Layer"]; AGSFeatureLayer *featurelayer = [AGSFeatureLayer featureservicelayerwithurl:[nsurl URLWithString:@"http://sampleserver1.arcgisonline.com/ArcGIS/res t/services/specialty/esri_statescitiesrivers_usa/mapserver/0"] mode: AGSFeatureLayerModeSnapshot]; featurelayer.definitionexpression = @"POP1990 > 100000"; [self.mapview addmaplayer:featurelayer withname:@"feature Layer"]; pg. 39

6. AGSFeatureLayer クラスにはその他にもサーバからのデータの取得方式を設定 する mode プロパティなどが用意されています 詳細は Reference をご参照く ださい Reference:AGSFeatureLayer https://developers.arcgis.com/ios/api-reference/index.htm pg. 40

その他のレイヤ マップサービスレイヤ フィーチャサービスレイヤの他にも AGSMapView オブジェ クトに追加することができる以下のようなレイヤクラスが利用できます AGSOpenStreetMapLayer OpenStreetMap をレイヤとして表示するためのレイヤクラスです OpenStreetMap とは 地理情報の自由な共有を目的として 誰でも自由に利用 更新をすることができる世界的な 地図作成プロジェクトです pg. 41

AGSSketchGraphicsLayer 簡単にジオメトリの作成や編集を対話的に行うことができるレイヤクラスです これらのレイヤクラスについても フィーチャレイヤと同様にマップサービスレイヤな どと重ね合わせて使用することにより より効果的でわかりやすいモバイルマッピングア プリケーションを作成することができます pg. 42

ArcGIS Runtime SDK for ios 2014 年 11 月 7 日 ESRI ジャパン株式会社 http://www.esrij.com/ Copyright(C) Esri Japan. 無断転載を禁ず 本書に記載されている社名 商品名は 各社の商標および登録商標です 本書に記載されている内容は改良のため 予告なく変更される場合があります 本書の内容は参考情報の提供を目的としており 本書に含まれる情報はその使用先の自己の責任において利用して頂く必要があります