[Xamarin.Forms] 地図の初期化を理解する(Xamarin.Forms.Maps編)

前回の記事で、地図の表示を行いました。

今回は、地図表示時の初期化コードを掘り下げて見ていきます。

はじめに前回のコードをおさらいしましょう。

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です。

以上のオプションを使用して、好みに合った地図が表示されるようにしましょう。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です