本サイトからスピンオフした姉妹サイトです。Studio2014年9月3日Xamarin.iOSでiOS標準の地図ライブラリ「MapKit」を使って地図を表示する方法を解説。地図の種類の変更、ジェスチャの有効/無効の切り替えなども説明する。→Xamarin.iOSで地図を扱う方法を解説する。iOS標準の地図ライブラリ「MapKit」を使って地図を表示する方法を解説する。Application)]を選択し、ソリューション名を「MapKitSample」として[OK]ボタンを押す。View」をViewControllerへドラッグ&ドロップして貼り付け、Viewの全体になるように位置と大きさを調整する。プロパティ(Property)で[Name]を「mapView」とする(図1)。MKMapViewを貼り付けたStoryboardこれだけで地図の表示が可能だ。ここまでのプログラムを実行すると、図2のようになる。地図の位置を変更する地図を指定の位置に移動させるには、以下のような方法がある。範囲(中心の緯度経度と幅、高さ)を指定カメラ(緯度経度、視点の場所、視点の高さ)を指定それぞれを試すために、まずは画面にボタンを3つ、以下のように追加する。ボタンを貼り付けたStoryboard中心位置(緯度経度)を指定MapKitSampleViewController.csファイルを、以下のように修正する。東京駅付近true);};}......省略......}中心位置(緯度経度)を指定するコード(MapKitSampleViewController.cs)MKMapViewオブジェクトのSetCenterCoordinateメソッドが、指定した緯度経度に移動するメソッドだ。第1引数が緯度経度を示すCLLocationCoordinate2Dクラス(MonoTouch.CoreLocation名前空間)のオブジェクト、第2引数は移動時にアニメーションを行うかどうかの指定だ。範囲(中心の緯度経度と幅、高さ)を指定MapKitSampleViewController.csファイルを、以下のように修正する。MKMapView.SetRegionメソッドを使う。引数は範囲を示すMKCoordinateRegionオブジェクト(MonoTouch.MapKit名前空間)であり、そのコンストラクターの第1引数は範囲の中心の緯度経度、第2引数は範囲の幅と高さを「度」で指定するMKCoordinateSpanオブジェクト(MonoTouch.MapKit名前空間)だ。赤道上での0.01度はおよそ1.1kmであるが、緯度によって距離は変わるので目安程度に捉えてほしい。カメラ(緯度経度、視点の場所、視点の高さ)を指定MapKitSampleViewController.csファイルを、以下のように修正する。MKMapView.SetCameraメソッドを使う。引数は範囲を示すMKMapCameraオブジェクト(MonoTouch.MapKit名前空間)であり、そのファクトリメソッドCameraLookingAtCenterCoordinateで、「中心位置」「カメラの位置」「カメラの高度」を指定する。この例では「東京スカイツリー」を、「押上駅」の「10m上空」から見下ろす、という設定だ。ここまでのプログラムを実行すると、それぞれ以下の画面のようになる。地図の種類の変更、ジェスチャの有効/無効の切り替えなどその他の一般的な機能をまとめて紹介する。MapKitSampleViewController.csファイルを、以下のように追加する。<-7}......省略......}地図の種類の変更、ジェスチャの有効/無効の切り替えなど(MapKitSampleViewController.cs)地図の種類の変更1は、表示する地図の種類を「衛星画像(MKMapType.Satellite)」に変更するコードだ。他に「通常(MKMapType.Standard)」や「通常+衛星画像(MKMapType.Hybrid)」が使用できる。現在位置の表示切り替え2は、現在位置を表示するためのコードだ。trueを設定すると、GPSにより取得した現在の位置を、コーディングを行わなくても地図上に表示できる。建物を3D表示に切り替え3は、建物を3Dで表示しないようにするコードだ。前出の東京スカイツリーなどは既定では3Dで表示されるが、これをfalseにすると2Dの表示になる。ジェスチャ操作の有効無効切り替え4、5、6、7はそれぞれ、ジェスチャでのスクロール、ズーム、回転、視点変更を無効にするためのコードだ。「表示する」としたプログラムを実行すると、図5のようになる。表示)現在位置を表示するためにGPSを使用するので、アプリケーションの起動時に「位置情報の利用許可を求めるダイアログ」が表示される。上図はiOSシミュレータで実行したものなので、現在位置はAppleの本社の位置が示される。まとめXamarin.iOSでのMapKitの基本的な使い方を解説した。iOSネイティブのMapKitのAPIは、ほぼそのままXamarin.iOSで使える。ネイティブのMapKitのAPIリファレンスと、Xamarin.iOSのMapKitのAPIリファレンスを比べながら開発するとより分かりやすいだろう。次回以降は、MapKitで図形を描く方法や、マーカーを使用する方法について解説する予定だ。※以下では、本稿の前後を合わせて5回分(第15回~第19回)のみ表示しています。INDEX]を参照してください。Xamarin.iOSで画面遷移先にデータを渡すには?(Storyboard使用)Xamarin.iOSでStoryboardにより画面遷移を行う際に、遷移元から遷移先にデータを渡す方法を解説する。Segue」を使う方法を説明する。Xamarin.iOSで地図を表示するには?(MapKit使用)Xamarin.iOSでiOS標準の地図ライブラリ「MapKit」を使って地図を表示する方法を解説。地図の種類の変更、ジェスチャの有効/無効の切り替えなども説明する。Xamarin.iOSで地図に図形を表示するには?(MapKit使用)Xamarin.iOSでiOS標準の地図ライブラリ「MapKit」を使って、ライン、ポリゴン、円などの図形を地図上に表示する方法を解説する。マーカー選択時の処理や、吹き出し表示、吹き出しタップ時の処理の、基本的な実装方法を説明する。機械学習エンジニアを目指す人~初中級者のための技術情報サイトです。2023最適なビューへの切り替えを推奨します:スマートフォン用表示に。