【问题标题】:Windows 7 Desktop without location sensor没有位置传感器的 Windows 7 桌面
【发布时间】:2014-07-10 14:23:01
【问题描述】:

我正在编写一个 Windows 7 桌面 C# 应用程序,当有位置传感器时我需要编写代码。我有这个:

            public string check(string stop)
            {
            GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();
            watcher.Start();

            watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);

            return null;

            }

        static void watcher_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e)
        {
            switch (e.Status)
            {
                case GeoPositionStatus.Initializing:
                    Console.WriteLine("Working on location fix");
                    break;

                case GeoPositionStatus.Ready:
                    Console.WriteLine("Have location");
                    break;

                case GeoPositionStatus.NoData:
                    Console.WriteLine("No data");
                    break;

                case GeoPositionStatus.Disabled:
                    Console.WriteLine("Disabled");
                    break;
            }
            MessageBox.Show("GO");
        }

这真的只是看看它是否抓住了经纬度,但我没有传感器,我只想知道,如果笔记本电脑有传感器,这会工作吗?我还买不起传感器,所以我想拥有代码并继续前进,直到我能够获得一个。另外,当用户注销时,我需要停止 geocoordinatewatcher,所以由于我不能在不同的功能中停止它,如果我启动另一个并停止那个会停止所有功能吗?这些功能是从 webapge 调用的,没有按钮在我的表格上。用户注销时调用的函数将是 stop();。万一有人想建议,我不能使用 GeoSense。

【问题讨论】:

  • 这段代码是正确的!如果它给出“无数据”,则表示设备中没有 GPS 传感器。如果设备具有 GPS 并且已关闭,则状态应显示为已禁用。此代码应正常工作!在一些 Windows 平板电脑上试一试

标签: c# .net location


【解决方案1】:

老问题,但还是这样:

我认为你的答案不是传感器的问题,而是观察者变量的范围。您启动观察者,然后注册事件,然后您的观察者丢失范围。

GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();

public string check(string stop)
{
   watcher.Start();...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 1970-01-01
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    • 1970-01-01
    相关资源
    最近更新 更多