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;
}
}
}
运行截图如下:


猜你喜欢
- Win10 20H2版本频繁更新导致VS崩溃怎么办?最近微软针对Win10系统可以说是一波又一波的更新,可是这样导致许多软件都出现了bug,
- 侠盗猎车5(GTA5)是一款动作冒险类视频开放式游戏,该游戏受到非常多的玩家喜爱。部分玩家使用自家Win10专业版系统的电脑玩GTA5却总是
- 微软发布了基于Chromium核心的Edge浏览器第一个公共版本。虽然这个早期预览版本并没有偏离Chromium的默认设计,但有证据表明微软
- Win8系统用着用着C盘会变得越来越大,可用空间变得越来越小,由于平时不注意清理系统垃圾导致的后果,磁盘清理,和安全卫士怎么清也清不出这些系
- 我们在Win10系统中查看图片的时候,默认会使用“Windows照片查看器”进行查看,但是如果我们觉得Windows照片查看器背景颜色不好看
- 一般输入数位较长的数字后,excel显示的是科学计数法的形式。如果我们不想excel显示科学计数的数字,而是要显示完整的长数字的话,那么可以
- 要删除空白wps页面:要打开带有空白页的文档,可以点击“wps文本-打印-打印预览”来显示多页预览,如下图所示:关闭打印预览后,找到空白页,
- Excel中经常需要使用到累加求和的功能,累加求和具体该如何操作呢?接下来是小编为大家带来的excel表格累加求和的方法,供大家参考。exc
- 在win2003下部署Silverlight遇到的一个问题,我将网站部署在win2003的IIS6时,我访问会出现以下错误:Error: U
- 微信人脸支付如何取消,人脸支付取消方法。在这信息化高速发展的时代,微信推出指纹免密支付没多久又推出了人脸支付。人脸支付对于一部分小伙伴不太容
- 在装完Windows 7系统后在任务栏中会发现一个小白旗的图标,鼠标放到这个小白旗的上面,就提示操作中心的提示信息,今天教大家如何删除Win
- WPS如何用“对比看图”?平时在阅读文献的时候,往往会出现文字和图形不在一起的情况,有时候甚至会离得很远,你需要重复性的返回去看,实在是很麻
- 近日,win10正式发布,而微软Edge浏览器很喜欢各种弹出式窗口广告,那么如何解决讨厌的弹出式广告,下面小编为大家图文详解下解决办法微软E
- 电脑开机提示“invalid partition table”怎么办呢?相信很多用户都有遇到过电脑开机提示“invalid partitio
- 在excel表格中斜线、双斜线、三斜线、四斜线的多种斜线画法,如何在excel表格中画斜线、双斜线、三斜线、四斜线的方法,今天,小编就教大家
- 在我们的日常办公中,专业的办公软件扮演着很重要的角色,而且一款专业的办公软件也可以说是高效生产力的代名词,近期有用户在问Office365和
- WPS2019数据透视图怎么制作?WPS2019表格中的数据想要制作成数据透视图表,该怎么制作呢?下面我们就来看看详细的教程,需要的朋友可以
- 为什么Windows下所有的软件默认安装路径都在C盘? 这是个让初级用户纠结的问题,是啊,为什么所有的软件默认安装路径都在C盘?为什么不默认
- 很多用户在使用电脑时候想要为电脑安装一个电脑管家,不知道哪个一个软件比较好用,小编根据相关软件对比,整理了几款电脑管家推荐,快来看看吧~电脑
- 如果图表能实时同步自动更新,那该多好!这时想到了正在网络疯狂流行的在线办公系统,经过一番琢磨发现“Google文档”完全能够实现此功能。对于