前回の記事で、地図の表示を行いました。
今回は、地図表示時の初期化コードを掘り下げて見ていきます。
はじめに前回のコードをおさらいしましょう。
using System; // 以下追加 using Xamarin.Forms; using Xamarin.Forms.Maps; namespace MapSample { public class MapPage : ContentPage { public MapPage() { var map = new Map( MapSpan.FromCenterAndRadius( new Position(35.6329, 139.8803), Distance.FromMiles(0.0))) { IsShowingUser = true, VerticalOptions = LayoutOptions.FillAndExpand }; Content = new StackLayout { Children = { map } }; } } }
12行目〜18行目の部分に注目してみましょう。
12行目のnew Mapは、Xamarin.Froms.Map を使用するための初期化コードです。正確にはMapのインスタンスを作成している部分です。
引数に渡しているMapSpan.FromCenterAndRadius(13行目)は、マップ表示時に画面の中央の位置をどこにするかと、表示する半径の距離を設定するものです。
14行目のnew Position()が画面中央の緯度と経度を表します。緯度と経度ともに10進法で指定する必要があります。60進法の指定ではないので注意して下さい。第1引数に緯度を第2引数に経度を指定します。なお、英語で緯度は「Latitude」、経度は「longitude」と言うので、覚えておくと海外サイトの記事も読みやすくなります。
続く15行目のDistance.FromMilesは、画面の中心から半径何マイルを表示するかを設定するものです。FromMilesとなっているので、単位はマイルになります。日本人になじみがあるのはKmなので、 FromKilometersを使用するとよいでしょう。
16行目のIsShowIngUserは、デバイスの現在位置を地図上に表示するかを指定するものです。trueを指定すると、地図上にデバイスの位置を表すマークが表示されるようになります。
17行目のVerticalOptionsは垂直方向の表示オプションです。FillAndExpandを指定しているので、画面いっぱいに表示されます。
これ以外にも指定可能なオプションがあるので紹介します。
HasScrollEnabledは、スクロールを許可するかどうかを指定します。falseを指定するとマップをスクロールして表示することができません。既定値はtrueです。
HasZoomEnabledは、マップの拡大縮小を許可するかどうかを指定します。falseを指定すると、拡大縮小ができなくなります。既定値はtrueです。
以上のオプションを使用して、好みに合った地図が表示されるようにしましょう。
コメント