让GPS坐标Windows7手机
-
10-10-2019 - |
题
我已经找了很长一段时间今天聚集的GPS坐标从一个窗户的手机设备的7-但是因为我没有一个实际测试设备在这里,我想到设置某些虚拟数据,我想已经返回,而不是真正的GPS数据...是,但是有不工作了太好了:这个代码ist部分的一个例子所以我在这里找到。但是我试图把它变成一类我可以以后的访问。
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...你能帮帮我吗?
我想,如能在模拟器上(有一个固定的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定位置。
解决方案
您的示例代码来自哪里?
您是否尝试过使用 在MSDN上采样?
另外,还有一个伟大的模拟器 http://phone7.wordpress.com/2010/08/02/no-device-no-gps-no-matter-with-code/
其他提示
你为什么要得出frmo GeoCoordinateWatcher
?这是一个错误,IMO。它不清楚何时使用自己的课程成员以及何时使用委托实例。目前,您将坐标设置在委派的观察者上,但 问 对于来自 GetGPS
实例直接。
我建议你实施 IGeoPositionWatcher<GeoCoordinate>
使用您自己的“固定”位置观察者 - 然后在执行时间决定是否使用该位置或真实 GeoCoordinateWatcher
. 。显然,这意味着您的客户代码只能依赖 IGeoPositionWatcher<GeoCoordinate>
代替 GeoCoordinateWatcher
直接地。这也应有助于单位测试目的。
当然Jon的答案是非常中肯的-我认为你已经不做了合理的界面抽象,但是甚至当你得到的,用于模拟数据有你一个看看 凯文*沃尔夫的GPS模拟器Windpws电话?