がりらぼ

WindowsRuntimeの応援ブログ

位置情報を利用するには

位置情報

GPSセンサーが付いているデバイスはGPSから、ついていないデバイスはIPアドレスなどから現在の位置情報を取得することができます。

位置情報は

latitude - 緯度

longitude - 経度

で特定することができます。

12

 

 

Geolocator

位置情報を使用するにはGeolocatorAPIを使用します。

まずこのようなXAML UIをつくります。

<Grid>
    <StackPanel>
        <TextBlock x:Name="text_latitude" FontSize="24"/>
        <TextBlock x:Name="text_longitude" FontSize="24"/>
        <TextBlock x:Name="text_accuracy" FontSize="24"/>
        <TextBlock x:Name="text_city" FontSize="24"/>
        <TextBlock x:Name="text_country" FontSize="24"/>
        <TextBlock x:Name="text_state" FontSize="24" />
        <TextBlock x:Name="text_portalCode" FontSize="24"/>
    </StackPanel>
</Grid>

 

コンストラクタでGeolocatorを初期化し、

GetGeopositionAsyncメソッドで位置情報を取得します。

さまざまな情報を取得できますが都道府県名や市名などは取得できませんでした。もしかしたらGPSがついているデバイスなら取得できるかもしれません。

Geolocator geolocator = new Geolocator();

Geoposition position =await geolocator.GetGeopositionAsync();
_pos = position;

text_latitude.Text = position.Coordinate.Point.Position.Latitude.ToString();    //緯度
text_longitude.Text = position.Coordinate.Point.Position.Longitude.ToString();  //経度
text_accuracy.Text = position.Coordinate.Point.Position.Altitude.ToString();    //高度
    
text_city.Text = position.CivicAddress.City;                                    //市
text_state.Text = position.CivicAddress.State;                                  //都道府県
text_country.Text = position.CivicAddress.Country;                              //国
text_portalCode.Text = position.CivicAddress.PostalCode;                        //郵便番号

実行にはマニフェストファイルの機能タブから、「場所」にチェックを入れる必要があります。

13

位置情報を利用するには | garicchi.com