Windows 8 地理位置定位以及 * 状态监测
发布时间:2023-06-15 00:13:43
在Windows8中, * 不一定随时可用,所以我们在使用 * 时最好先检查一下 * 的状态,接下来介绍状态如何从Geolocator中的属性LocationStatus获得在Windows8中, * 不一定随时可用,所以我们在使用 * 时最好先检查一下 * 的状态。
状态可以从Geolocator中的属性LocationStatus获得。
* 状态是枚举类型PositionStatus,共有6种状态:Ready、Initializing、NoData、Disabled、NotInitialized、NotAvailable。
另外,有时还需要不断检测 * 的状态,当 * 不可用时给用户友好的提示,或做出其它的动作。Geolocator中有一个事件StatusChanged专门用来监测 * 状态的改变。
下面来看代码,总共只有一张页面。
前台XAML代码如下:
复制代码代码如下:
<Page
x:Class="Win8Location.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Win8Location"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
后台cs代码如下:
复制代码代码如下:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Windows.Devices.Geolocation;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Core;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
namespace Win8Location
{
public sealed partial class MainPage : Page
{
Geolocator geo = null;
public MainPage()
{
this.InitializeComponent();
}
private void btnCheckStatusChanged_Click(object sender, RoutedEventArgs e)
{
btnCheckStatusChanged.IsEnabled = false;
if (geo == null)
{
geo = new Geolocator();
}
txtMsg.Text = DateTime.Now.ToString() + "> * 启动,状态为:" + geo.LocationStatus + "\n状态描述:" + GetDescription(geo.LocationStatus);
geo.StatusChanged += geo_StatusChanged;
}
async void geo_StatusChanged(Geolocator sender, StatusChangedEventArgs args)
{
PositionStatus statu = args.Status;
string msg = "\n\n" + DateTime.Now.ToString() + "> * 状态改变为:" + statu.ToString();
msg += "\n状态描述:" + GetDescription(statu);
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
txtMsg.Text += msg;
});
}
string GetDescription(PositionStatus statu)
{
string description = null;
switch (statu)
{
case PositionStatus.Ready:
description = "提供位置数据。";
break;
case PositionStatus.Initializing:
description = "位置提供程序正在初始化。如果 GPS 是位置数据源,并且视图中的 GPS * 没有所需的附属数目来获取准确的位置,则此为该状态。";
break;
case PositionStatus.NoData:
description = "没有来自任何位置提供程序的可用位置数据。在可从位置传感器获取数据之前,LocationStatus 将在应用程序调用 GetGeopositionAsync或注册 PositionChanged 事件的事件处理程序时具有此值。数据可用后,LocationStatus 转换为 Ready 状态。";
break;
case PositionStatus.Disabled:
description = "位置提供程序已禁用。此状态指示尚未被授予该用户访问位置的应用程序权限。";
break;
case PositionStatus.NotInitialized:
description = "检索位置的操作尚未初始化。如果应用程序尚未调用 GetGeopositionAsync,或为 PositionChanged 事件注册事件处理程序,则LocationStatus 可能具有此值。";
break;
case PositionStatus.NotAvailable:
description = "Windows 传感器和位置平台在此版本的 Windows 中不可用。";
break;
default:
description = "您的 * 太先进了,目前的技术无法得知其状态:)";
break;
}
return description;
}
}
}
运行截图如下:
猜你喜欢
- 今天小编为大家带来了Win7 32位旗舰版系统下安装Daemon Tools反复重启的解决技巧,感兴趣的朋友们可以跟着小编去下文了解一下哦原
- 在Excel中经常会因为数据繁多而会犯了重复录入的错误,这个时候需要借助Excel的筛选功能把重复的数据给筛选出来。接下来小编举例简单的例子
- 许多用户在使用Word文档编辑文字的时候将常会发现,自己的第一页明明还有非常多的空余地方,但是在输入编辑文字的时候却总是自动跳到下一页,而下
- 在进行数据处理时,插入行或列也是常见的操作。在工作表中同时插入多个行或列的方法基本相同,下面以同时插入多个行为例来介绍在Excel工作表中同
- 我们可以在wps演示中制作各种各样的艺术字效果,例如我们可以在wps演示中制作波浪文字效果,下面就让小编告诉你wps演示如何制作波浪文字效果
- 有时需要重排工作簿中工作表的顺序。例如,如果对于每一个销售领域都有一个单独的销售表,那么把这些表按字母顺序或总销售额排列将会很有帮助。也许需
- Adobe After Effects简称“AE”是Adobe公司推出的一款图形视频处理软件,适用于从事设计和视频特技的机构,包括电视台、动
- 有时需要在Excel工作表中互换两个区域中的数据,如果区域相邻可以直接用拖动鼠标并按住Shift键的方法进行互换。而当两区域不相邻且两个区域
- Win10中文件夹图标比较乱,特别是不同类型的文件夹,视图也不同。我们可以全部重置文件夹视图,来统一一下,免得觉得显示方式看起来不顺眼。如何
- Mac版excel如何快速完成数据拆分?如今,Excel在我们生活和工作中的地位越来越重要,掌握其中技巧,可以节省我们近90%的时间,有效的
- 想要传输一些大体积的文件时,我们一般都会选择压缩处理,不仅可以减少传输时间,还能释放电脑空间。但是有些用户发现自己压缩文件不显示压缩图标了,
- Excel中经常需要使用到隐藏公式的技巧,表格中的公式具体该如何进行隐藏呢?下面是由小编分享的excel表格隐藏公式的方法,以供大家阅读和学
- win10鼠标在哪里设置?你用电脑鼠标不知道要被按多少次,所以这个鼠标的好用与否至关重要。大家有没有研究过鼠标的设置方法,有些设置还是对鼠标
- wps怎么创建空白文档?wps中想要新建文件,该怎么新建呢?方法有很多,今天我们总结了五种方法,都是很简单,需要的朋友可以参考下wps创建空
- 1、打开Excel表格选择“Sheet1”按鼠标右键选“重命名”改好后如图所示! 2、如要插入“工作表”任意点击一
- 有用户发现系统的时间和其他电子设备的时间不一样,于是就查看了手机,发现电脑时间是不正确的。本来系统的时间都能够自动根据网络时间自动校准的,不
- 新版的Word可以轻松实现自制日历。并可以根据需求制作个性化日历,例如可以将纪念日,生日印在上面。那么word2013如何做日历?下面小编就
- 平常单位的一些进货单出库单类的表格都是用excel制作的,今天单位没有考勤表了,于是我就用excel制作考勤表,这样就不用出去买了,而且单位
- 如果我们不希望自己的文档被别人修改,那么,应该怎么办呢?下面就让小编告诉你 wps文档如何防止别人修改的方法。wps文档防止别人修改的方法:
- 对于wps中的表格,我们通常需要对其进行一些设置,下面就让小编告诉你如何在wps中对表格进行设置 的方法。在wps中对表格进行设置的方法:打