web-dev-qa-db-ja.com

Windows Phone7でGPS座標を取得する

Windows Phone 7で現在のGPS座標を取得するにはどうすればよいですか?

34
user380719

簡単な例を次に示します。

GeoCoordinateWatcher watcher;

watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.Default)
                   {
                       MovementThreshold = 20
                   };

watcher.PositionChanged += this.watcher_PositionChanged;
watcher.StatusChanged += this.watcher_StatusChanged;
watcher.Start();


private void watcher_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e)
{
    switch (e.Status)
    {
        case GeoPositionStatus.Disabled:
            // location is unsupported on this device
            break;
        case GeoPositionStatus.NoData:
            // data unavailable
            break;
    }
}

private void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
    var epl = e.Position.Location;

    // Access the position information thusly:
    epl.Latitude.ToString("0.000");
    epl.Longitude.ToString("0.000");
    epl.Altitude.ToString();
    epl.HorizontalAccuracy.ToString();
    epl.VerticalAccuracy.ToString();
    epl.Course.ToString();
    epl.Speed.ToString();
    e.Position.Timestamp.LocalDateTime.ToString();
}
44
Matt Lacey

GeoCoordinateWatcher は、この機能を提供するクラスです。 MSDNには、 ハウツーサンプル 、その他の リソース があります。

16
Kris