WP7如何获取GPS坐标信息

移动开发
实例化GeoCoordinateWatcher对象的时候,需要提供一个参数,GeoPositionAccuracy,该枚举有两个成 员,Default和High,在Defalut模式下,微软会平衡电池,性能等因素返回一个坐标信息,该信息可能不是很精确,如果你确实需要高精度的位 置信息,那么可以用High模式.

基于手机的应用,不可缺少的一项就是位置信息,在WP7中,微软提供了一个GeoCoordinateWatcher类,可以方便的拿到当前所在的经纬度

  1. GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.Default); 
  2.             watcher.MovementThreshold = 20; 
  3.  
  4.             watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged); 
  5.             watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged); 
  6.             watcher.Start(); 

实例化GeoCoordinateWatcher对象的时候,需要提供一个参数,GeoPositionAccuracy,该枚举有两个成 员,Default和High,在Defalut模式下,微软会平衡电池,性能等因素返回一个坐标信息,该信息可能不是很精确,如果你确实需要高精度的位 置信息,那么可以用High模式.
GeoCoordinateWatcher 有个属性MovementThreshold,他表示用户移动多少位置之后,会执行PositionChanged事件,默认值是0,也就是任何移动都会触发PositionChanged,你可以自定义一个值,单位是"米".
GeoCoordinateWatcher 还有两个常用的事件,PositionChanged和StatusChanged. PositionChanged前面已经讲过,根据你设置的值,会在用户移动的时候,触发这个事件.StatusChanged是表示当前GPS的状态

  1. void watcher_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e) 
  2.         { 
  3.             switch (e.Status) 
  4.             { 
  5.                 case GeoPositionStatus.Initializing: 
  6.                     break
  7.                 case GeoPositionStatus.Ready: 
  8.                     break
  9.                 case GeoPositionStatus.NoData: 
  10.                     break
  11.                 case GeoPositionStatus.Disabled: 
  12.                     break
  13.             } 
  14.         } 

该枚举包含4个成员,Initializing:初始化中,Ready:准备好,NoData没有数据,Disabled被关闭.
在这些事件和属性设置好之后,调用watcher.Start();定位便开始了,同时会在条件满足的时候,触发事件.最后,别忘了添加system.device的引用..
不得不说, .Net封装的真强大.非常方便的就能使用!!

责任编辑:闫佳明 来源: oschina
相关推荐

2013-06-17 14:10:08

WP7开发Windows Pho豆瓣电台

2013-06-17 12:28:00

WP7开发Windows Pho控件倾斜特效源

2013-06-17 14:35:40

WP7Windows Pho应用开源模板

2013-06-17 15:03:43

WP7开发腾讯微博SDK源码下载

2013-06-17 12:44:38

WP7开发Windows Pho数独游戏

2013-06-17 14:46:32

2012-03-22 14:50:00

WP7微软诺基亚

2011-02-28 10:42:14

Windows Pho微软

2013-06-17 10:31:42

WP7开发日历控件源码下载

2012-05-15 14:00:51

WP7开发环境

2011-03-04 09:15:18

Windows Pho李卫勇

2013-06-17 14:58:23

2013-06-17 11:04:11

WP7开发Windows Pho日历源码下载

2013-06-17 14:52:37

WP7开发Windows Pho汽车燃油计算

2012-01-13 11:03:55

AndroidWP7CES 2012

2011-03-29 13:03:59

IronRubyWindows Pho.NET

2011-11-01 09:42:44

WP7交互设计

2013-02-25 11:19:43

WP开发Windows PhoWP开发者

2012-04-05 13:39:42

WP7开发Windows Pho

2012-07-06 09:26:13

Windows PhoWindows Pho
点赞
收藏

51CTO技术栈公众号