本サイトからスピンオフした姉妹サイトです。Studio2014年9月10日Xamarin.iOSでiOS標準の地図ライブラリ「MapKit」を使って、ライン、ポリゴン、円などの図形を地図上に表示する方法を解説する。前回に引き続き、Xamarin.iOSでMapKitを使用する。今回はライン、ポリゴン、円などの図形を表示する方法を解説する。「Tips:Xamarin.iOSで地図を表示するには?(MapKit使用)」の続きとして解説するので、プロジェクトの準備は前回を参照してほしい。画面を準備する前回終了時点で、MainStoryboard.storyboardファイルを開くと、以下の画面のようになっているはずだ。前回終了時のMainStoryboardこれに「ライン」「ポリゴン」「円」を描画するためのボタンをそれぞれ追加する。[Name]は、それぞれbuttonLine、buttonPolygon、buttonCircleとする(図2)。ラインを描画するMapKitSampleViewController.csファイルに、[Line]ボタンを押した時にラインを追加するコードを、以下のように記述する。null;};}}ラインを描画するコード(MapKitSampleViewController.cs)1で、ボタンを押した時に、MKPolylineオブジェクトを生成して、MKMapViewオブジェクトにオーバーレイとして追加している。次に2で、オーバーレイを描画するためのレンダラーを返す関数を設定する。関数の第2引数が描画されるオーバーレイなので、この型がMKPolylineである場合に、ラインを描画するためのMKPolylineRendererオブジェクトを生成して返す。ここでは線色を青、線幅を5ピクセルとしている。ポリゴンを描画する続いて、[Polygon]ボタンを押した時にポリゴンを追加するコードを、以下のように記述する。null;};}}ポリゴンを描画するコード(MapKitSampleViewController.cs)1で、ボタンを押した時に、MKPolygonオブジェクトを生成してオーバーレイとして追加する。図形を「閉じる」ために、最終点は1点目と同じ座標値を設定する。次に2では、オーバーレイの型がMKPolygonである場合に、ポリゴンを描画するためのMKPolygonRendererオブジェクトを生成して返す。ここでは塗りつぶし色を赤、透過率を50%としている。円を描画する最後に、[Circle]ボタンを押した時に円を追加するコードを、以下のように記述する。null;};}}円を描画するコード(MapKitSampleViewController.cs)1で、ボタンを押した時に、MKCircleオブジェクトを生成してオーバーレイとして追加する。ここでは秋葉原駅から半径2kmの円としている。次に2で、オーバーレイの型がMKCircleである場合に、円を描画するためのMKCircleRendererオブジェクトを生成して返す。ここでは塗りつぶし色を黄色、透過率を20%(非透過率80%)としている。【コラム】ネイティブとの違いここまで、OverlayRendererによる図形の描画について解説したが、iOSネイティブの開発者であれば、これらはMKMapViewクラスのrendererForOverlayメソッドの実装と同じだと気付くだろう。Xamarin.iOSにもRendererForOverlayメソッドは存在するが、C#言語の仕様上、サブクラス無しに実装することができないので、代替手段としてMKMapViewクラスにOverlayRendererプロパティ(=型はMKRendererForOverlayDelegateというデリゲート)が用意されている。図形の削除は、MKMapViewクラスのRemoveOverlayメソッドで行う。追加されているオーバーレイはMKMapViewクラスのOverlaysプロパティで取得できるので、これらを利用して、「円が追加されていたらそれを削除する、存在しなければ追加する」というコードは、以下のようになる。2km));};......省略......}}図形を削除するコード(MapKitSampleViewController.cs)ここまでのプログラムを実行すると、図3のようになる。プログラムの実行結果(図形の表示)[Line]/[Polygon]/[Circle]ボタンを押すと、それぞれ「ライン」「ポリゴン」「円」が地図に追加される。[Circle]ボタンは、押すごとに円の追加/削除が繰り返される。まとめMapKitでの図形の追加と削除について解説した。Documentationなども参照されたい。次回は、MapKitでマーカーを使用する方法について解説する予定だ。※以下では、本稿の前後を合わせて5回分(第16回~第20回)のみ表示しています。INDEX]を参照してください。Segue」を使う方法を説明する。Xamarin.iOSで地図を表示するには?(MapKit使用)Xamarin.iOSでiOS標準の地図ライブラリ「MapKit」を使って地図を表示する方法を解説。地図の種類の変更、ジェスチャの有効/無効の切り替えなども説明する。Xamarin.iOSで地図に図形を表示するには?(MapKit使用)Xamarin.iOSでiOS標準の地図ライブラリ「MapKit」を使って、ライン、ポリゴン、円などの図形を地図上に表示する方法を解説する。マーカー選択時の処理や、吹き出し表示、吹き出しタップ時の処理の、基本的な実装方法を説明する。v2」を使って、Xamarin.Androidで地図を表示する方法を解説。API利用環境の準備から、まずはGoogleマップを表示するまでの手順を説明する。機械学習エンジニアを目指す人~初中級者のための技術情報サイトです。2023最適なビューへの切り替えを推奨します:スマートフォン用表示に。