WP7如何获取GPS坐标信息

2015-09-30 14:32:07来源:作者:人点击

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

GeoCoordinateWatcherwatcher=newGeoCoordinateWatcher(GeoPositionAccuracy.Default);watcher.MovementThreshold=20;watcher.PositionChanged+=newEventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_PositionChanged);watcher.StatusChanged+=newEventHandler<GeoPositionStatusChangedEventArgs>(watcher_StatusChanged);watcher.Start();

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

voidwatcher_StatusChanged(objectsender,GeoPositionStatusChangedEventArgse){switch(e.Status){caseGeoPositionStatus.Initializing:break;caseGeoPositionStatus.Ready:break;caseGeoPositionStatus.NoData:break;caseGeoPositionStatus.Disabled:break;}}

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

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台