Xcode の Playground を使って地図を操作してみる

1587
0
06-06-2017 04:38 AM
Labels (1)

Xcode の Playground を使って地図を操作してみる

Xcode の Playground はインタラクティブな Swift コーディング環境で、プロトタイピングとして使え、アプリをビルドしなくてもコードの実行結果をすぐに確認できます。


Playground を使用してログを出力する

地図アプリ開発でも、地図の表示状態の確認や地図機能をテストするのに利用できます。
本記事では、iOS 用のネイティブ地図アプリ開発キットの ArcGIS Runtime SDK for iOS(以下、SDK)を使用して、Playground で地図を表示してみます。

ここで紹介する手順は、SDK を使用して様々な背景地図を表示するというものです。SDK をインストールして実際に試していただくことも可能です。

SDK は CocoaPods からインストールできます。

pod 'ArcGIS-Runtime-SDK-iOS', '100.0'

インストールに関する詳細はこちらをご参照ください。

    1. SDK に含まれる ArcGIS フレームワークを、Xcode の iPhone シミュレータのフレームワーク フォルダに追加します。
「〜/Library/SDKs/ArcGIS/iOS/Frameworks/Dynamic」フォルダにある ArcGIS.framework ファイルを「Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/System/Library/Frameworks」フォルダにコピーします。
    2. Xcode のメニュー([File] → [New] → [Playground])から Playground を開きます。Platform として iOS を選択します。 

      地図を表示するのに必要な LiveView は、 アシスタント エディタ パネルに表示されます。
      Xcode の [View] → [Assistant Editor] → [Show Assistant Editor] からアシスタント エディタを表示します。
    3. 以下のコードを追加します。

      // Xcode の LiveView を使用するのに必要な PlaygroundSupport モジュールと、ArcGIS Runtime SDK for iOS のモジュールをインポート
      import UIKit
      import PlaygroundSupport
      import ArcGIS

      // SDK の API の非同期処理を許可する
      PlaygroundPage.current.needsIndefiniteExecution = true

      // SDK のマップビューのフレーム サイズを指定する
      let mapview = AGSMapView(frame: CGRect(x: 0, y: 0, width: 500, height: 500))

      // ArcGIS Online の背景地図をマップビューに表示する
      mapview.map = AGSMap(basemap: AGSBasemap.topographic())

      // 地図の初期表示位置(経度・緯度)とスケール、ズーム アニメーションを指定する
      let location = AGSPoint(x: 139.745433, y: 35.658581, spatialReference: AGSSpatialReference.wgs84())
      mapview.setViewpoint(AGSViewpoint(center: location, scale: 1000, rotation: 0), duration: 10, curve: .easeInOutQuint, completion: nil)

      // 現在の Playground ページの LiveView をマップビューに設定する
      PlaygroundPage.current.liveView = mapview


    4. アシスタント エディタに地図が表示され、地図を操作できます。
      コードで背景地図の種類(AGSBasemap クラス)やスケール等を変更して、地図の表示を変更してみます。

上図の操作では背景地図を道路地図から衛星画像に変更しています。これ以外にも地形図や海洋図などの地図を利用できます。

詳細は AGSBasemap クラスをご参照ください。


SDK には地図の表示以外にも、豊富な地図機能が用意されており、各機能は Apple Store に公開されているこちらのアプリで確認できます(ソースコードは GitHub に公開されています)。
開発・評価目的であれば、ArcGIS for Developers の無償の開発者アカウントを作成することで、どなたでもご利用できますので、ぜひお試しください。

関連リンク

Labels (1)
Version history
Last update:
‎06-06-2017 04:38 AM
Updated by:
Contributors