【发布时间】: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 平板电脑上试一试