01 2013 档案
摘要:先上运行截图(都在模拟器中测试):1.初始界面2下面是定位后他截图必应地图有三种模式:道路(默认)、空中、鸟瞰。下面是空中模式下面是鸟瞰模式(SDK自带了缩放功能,在电脑上可以用鼠标滚轮缩放)在不同定位精度下,程序中使用了不同个定位图标,也就是中间的那个圆点。一、开发环境:Windows 8 RTM Visual Studio 2012 RTM二、下载SDK下载地址:http://visualstudiogallery.msdn.microsoft.com/bb764f67-6b2c-4e14-b2d3-17477ae1eaca/SDK文件名为:Bing.Maps.vsix下载完成后双击安装三
阅读全文
摘要:1.假设:地球是正球体。地面两点A和B的经纬度坐标分别为(Aj,Aw)和(Bj,Bw),地球半径R取平均值6371km。2.建立三维直角坐标系:地球球心为原点O,地轴为Z轴,北极方向为Z轴正方向,赤道平面为X轴和Y轴所在平面,在该平面上地心到零度经线的方向为X轴正方向,根据右手定则确定Y轴正方向。设点A的三维坐标为(Ax,Ay,Az),点B的三维坐标为(Bx,By,Bz)3.思路:A、B、O三点所在平面与地球相交形成一个半径为R的圆,求AB间的地面距离就是求该圆上圆弧AB的长度。可由弧长等于半径乘以圆心角公式求得。由于R是确定的,只要获得OA与OB的夹角θ就可以获得弧AB的长度。弧AB=R*θ
阅读全文
摘要:关于根据经纬度计算地面两点间距离的公式及推导可以参考我的另一篇博客http://www.cnblogs.com/chengyujia/archive/2013/01/13/2858484.html本例依然只有一个页面先上运行截图:前台XAML代码:XAML 1 <Page 2 x:Class="Win8Location.DistanceAndSpeed" 3 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 4 xmlns:x="http://schemas
阅读全文
摘要:如果在应用中不仅需要知道用户的位置,还需要根据位置的变化呈现不同的内容,则需要跟踪位置变化。这就用上定位核心类Geolocator中的PositionChanged事件了。Geolocator中有三个属性与该事件有关:1.public uint ReportInterval { get; set; }在位置更新之间请求的最小时间间隔(以毫秒为单位)。如果您的应用程序很少需要更新,则设置此值,以便位置提供程序可通过仅在需要时计算位置来节省电源。默认值为0,表示随时检测位置变化。2.public double MovementThreshold { get; set; }获取相对于来自最后的 Po
阅读全文
摘要:在Windows8中,定位器不一定随时可用,所以我们在使用定位器时最好先检查一下定位器的状态。状态可以从Geolocator中的属性LocationStatus获得。定位器状态是枚举类型PositionStatus,共有6种状态:Ready、Initializing、NoData、Disabled、NotInitialized、NotAvailable。另外,有时还需要不断检测定位器的状态,当定位器不可用时给用户友好的提示,或做出其它的动作。Geolocator中有一个事件StatusChanged专门用来监测定位器状态的改变。下面来看代码,总共只有一张页面。前台XAML代码如下:前台XAML
阅读全文
摘要:在 Windows8 中,内置的 Windows 定位程序基于 Wi-Fi 三角定位法和 IP 地址数据为应用提供位置数据。Windows 定位程序使用来自 Wi-Fi 访问点的数据来计算纬度和经度。根据 Wi-Fi 数据计算的位置在市区内可精确到 350 米。当 Wi-Fi 数据不可用时,Windows 定位程序使用 IP 地址解析来获得可精确到 50 千米的大概位置。打开Visual Studio 2012新建->项目->Windows 应用商店->空白应用程序,取名叫Win8Location打开Package.appxmanifest,在“功能”标签页中勾选“位置”。没
阅读全文