今日、Windows Phone 7 デバイスから GPS 座標を収集するためにかなりの時間を探していましたが、ここには実際のテスト デバイスがないため、実際の GPS Data の代わりに返してもらいたいダミー データを設定しようとしました。 ..しかし、うまくいきません。このコードは、私がここで見つけた例の一部です。ただし、後でアクセスできるクラスに入れようとしました。
public class GetGPS : GeoCoordinateWatcher
{
GeoCoordinateWatcher watcher;
public GetGPS()
{
watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.Default);
watcher.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.Ready:
//plingpling
break;
case GeoPositionStatus.Disabled:
// location is unsupported on this device
break;
case GeoPositionStatus.NoData:
watcher.Position.Location.Latitude = 54.086369f;
watcher.Position.Location.Longitude = 12.124754f;
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();
}
}
これは、データにアクセスしようとする別のクラスですが、常に lat1Rad および long1Rad として NaN を取得します...助けてもらえますか?
その例を、エミュレーター (固定 GPS 座標を使用) および電話 7 デバイス (実際に値を取得する場所) で機能させたいと考えています。
GetGPS location1= new GetGPS();
//GeoCoordinate myPosition = location1.getPosition();
//Radianten berechnen
double lat1Rad = GradZuRad(location1.Position.Location.Latitude);
double long1Rad = GradZuRad(location1.Position.Location.Longitude);
私は基本的に、現在の GPS 位置を返すクラスをプログラムしたいだけです。