我已经找了很长一段时间今天聚集的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电话?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top