说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Windows Phone 7 实现简单的GPS定位器

HTML文档下载 WORD文档下载 PDF文档下载
GPS系统变得很受欢迎,许多人的手机都需要它,尤其是游客。但是许多开发商不知道如何开始做GPS系统。这是一个Windows Phone 7中的GPS系统的例子,展示了如何通过手机内置的定位得到你的位置。然后在Bing地图上显示位置(就像谷歌地图)。

 

作者:Ahmedn1

翻译:okbase.net winphone

 

源代码下载

 

介绍

GPS系统变得很受欢迎,许多人的手机都需要它,尤其是游客。但是许多开发商不知道如何开始做GPS系统。

这是一个Windows Phone 7中的GPS系统的例子,展示了如何通过手机内置的定位得到你的位置。

然后在Bing地图上显示位置(就像谷歌地图)。

背景

要使用Bing地图,你需要一个Bing Key用于开发时使用。这是一个您的应用程序的唯一键,用它可以登录到Bing地图。

 

你可以注册Windows Live账号时从Bing Maps Portal(https://www.bingmapsportal.com/)得到key。

拿到key后,你可以将它附加到您的应用程序,并得到你想要的地图。之后,我们可以使用一个重要的服务:Terra服务,它可以以文本形式提供经纬度位置。您可以在项目名称上右键点击,选择“添加服务引用”对于Terra服务,你可以使用这个网址:http://msrmaps.com/TerraService2.asmx,然后你可以根据导入时候所命名的名字引用该命名空间。

官方网站:http://msrmaps.com

 

Terra服务包含了许多重要的用于GPS的方法,例如:

 

  • ConvertLonLatPtToNearestPlace
  • ConvertLonLatPtToUtmPt
  • ConvertPlaceToLonLatPt
  • ConvertUtmPtToLonLatPt
  • CountPlacesInRect
  • GetAreaFromPt
  • GetAreaFromRect
  • GetAreaFromTileId
  • GetLatLonMetrics
  • GetPlaceFacts
  • GetPlaceList
  • GetPlaceListInRect
  • GetTheme
  • GetTile
  • GetTileMetaFromLonLatPt
  • GetTileMetaFromTileId
  •  

     

    我们感兴趣的是:ConvertLonLatPtToNearestPlace,从坐标得到地名。反过来的方法是:

     

    ConvertPlaceToLonLatPt

     

    使用代码

     

    首先,我们设定地图部分的XAML代码

     

     

     

    <my:Map Height="457" Name="mapBing" Width="450" CredentialsProvider="Your Key"/>
    然后要让你的地图工作,你会发现,它会开始工作,甚至在设计视图之前,部署和运行。代码如下:
    Terra.TerraServiceSoapClient client = new Terra.TerraServiceSoapClient();
    这一部分是从下载的服务里创建一个对象:
    public MainPage()        {            InitializeComponent();            client.ConvertLonLatPtToNearestPlaceCompleted += |                new EventHandler<ConvertLonLatPtToNearestPlaceCompletedEventArgs>(                client_ConvertLonLatPtToNearestPlaceCompleted);            mapBing.ZoomBarVisibility = System.Windows.Visibility.Visible;        }
    在构造函数中,我们创建了ConvertLonLatPtToNearestPlaceCompleted事件的事件处理程序
    ,激发时得到最接近我们的坐标位置,然后使地图上的缩放按钮可见。
    void client_ConvertLonLatPtToNearestPlaceCompleted(object sender,     ConvertLonLatPtToNearestPlaceCompletedEventArgs e)        {            txtResult.Text = e.Result;            mapBing.Center = new GeoCoordinate(latitude, longitude);            mapBing.ZoomLevel = 10;        }
    这个是事件处理函数,它显示文本块并将新的坐标置于地图中心,并将放大倍数设为10
    现在让我们看一下按钮点击事件:
    txtResult.Text = "Loading....";GeoCoordinateWatcher myWatcher = new GeoCoordinateWatcher();var myPosition = myWatcher.Position;latitude = 30.01;longitude = 31.14;if (!myPosition.Location.IsUnknown){    latitude = myPosition.Location.Latitude;    longitude = myPosition.Location.Longitude;}client.ConvertLonLatPtToNearestPlaceAsync(new Terra.LonLatPt {     Lat = latitude, Lon = longitude });
    GeoCoordinateWatcher类是手机定位器的内置类,可以通过Position属性得到当前坐标。
    我添加了一些默认的坐标,因为在Windows Phone模拟器中没有定位装置,所以它不会得到正确的坐标。我添加了这些默认值仅用于测试。最后,我们使用Terra服务搜索此位置的名称。
    兴趣点
    在我的工作中,我添加了几个按钮来改变不同地图的模式如:航空,公路,街道,卫星,...... 等等,但我发现,这是不必要的,所以我删除了它。
    历史
    这是第一个版本,我会尽快与更先进的功能,转载时请注明出处。

     

    高通智能手表Toq都用到了哪些技术? 研发周报:修改一行SQL代码 性能提升了100倍 2013年NoSQL就业趋势分析 鲜为人知的静态、命令式编程语言——Nimrod 高性能Web应用打造攻略:扩展过程中20个最大的绊脚石 开源项目Marathon:让你的数据中心像谷歌一样运行 精益化运营:10款移动统计分析工具推荐 移动建站工具(一):分秒钟将Web网站移动化 移动周报:小米的“倚天屠龙记” 智能手表是个尴尬的产品 屏幕缺陷一枪毙命 看15岁的谷歌的前21位员工现在都在做什么 分析师:三星将失去中国市场份额的头把交椅 5款工具助你写出更好的Java代码 Noitom:&quot;中国创造&quot;的动捕技术 缘创派:帮助技术人员寻找创业伙伴 Nginx创始人Igor Sysoev解读Nginx的发展史 对女性友好的编程语言 ISC2013专家云集,畅谈全球网络安全 CTO俱乐部第109期下午茶:数据库之分久必合,合久必分 CloudConvert:支持移动应用的格式转化服务 Angular.js VS. Ember.js:谁将成为Web开发的新宠? 斯卡利沉寂多年后首谈乔布 他的离开错在董事会不在我 CTO如何避免决策失控(二):遭遇棘手问题的七种迹象 微软面向开发者提前发布Windows 8.1 安抚不满情绪 PostgreSQL 9.3发布,可靠性、可用性获得较大提升! Web设计的新宠儿:卡片式设计 LSI:从“计算”架构到“数据流”架构的变迁 [开源推荐]TurboGears:一站式的Python开发框架集合 腾讯云公测终究还是来了 BAT云大战将开启? iOS 7将从这三方面影响IT界 超越Google,他企图将整个互联网塞进1台电脑 怎么打开foxpro中,通过剪切板考过去的图片,dbimage和image控件都不能打开,显示“bitmap is not valid” vaj中如何使用自己的JAR? 怎样改变当前窗口的大小,是当前窗口最大化? 高手争峰 如何把一个log文件读到数据结构中去 请教一个很菜的问题:) 这个程序有什么问题? 怎样做???? 简单问题,可就是搞不定!! 请问jsp中servelet在win2000中的设置方法,需要下载什么类库文件么? 一个新问题,那就是点击工具栏的退出按钮以后只退出当前打开的窗口,而不是整个应用! 如何在 index.htm 中引用 count.asp ? 远程数据库访问的问题--亟待高手们解答 王国荣的电子信箱是哪里? 我的程序生活 先给50分,稍后在加:我正在做一个系统,需要做到每次开机时提醒用户有哪些事情要做! [Tips]获取Memo&Richedit中光标坐标的最简单方法! 急急,如何才能把图片的底色与窗口的底色自然地融为一体? 如何改变按钮的颜色? 在mtml help workshop 中如何制作带上下文关联ID的帮助 调试程序时,控制台程序与直接建立的C++程序有区别吗? 给菜鸟推荐本书 VB调用外部DLL问题 【洗心革面,重新做人,割发断指,庄严声明】 从今以后 kook 不近女色,不灌疯水,以 panda_w 为榜样,苦练VC,研习汇编,做一个 CSDN 的正面典型! 谁有ULTRAEDIT 的注册码 能否推荐几本关于VB提高和关于VB数据库的书 紧急问题,关于SSL通过MS PROXY String类的问题 连接数据库的东东真是奇怪! 如何打开pdm格式文件 ===========灌水传说=========== 奇怪的问题,怎么办? 呵呵,初学者,请多多指教 剖 尸 小问题:自定义组件的显示 怎样打印picturebox中的内容??? 关于Datawindow的Group的问题 谁能告诉我 Delphi6的序列号 紧急问题,关于SSL通过MS PROXY! 请问,如果用ASP作邮件发送,接收的功能,win2k怎么设置????????? 各位大侠,谁用visual age for java3.5 开发过 ejb呀,发个例子及过程给我好吗?没例子,有过程也可以!以分做谢! 哪位大哥能将解一下notify()和wait()的用法 我用delphi做的工程是一个exe+n个DLL的,请问datamodule放哪里合适;请高手们详细讲讲. 如何除去这可恶的标题? 请问如何取得动态数组的维数,换言之如何取得动态数组的值? 1000M,一会儿就满了,怎么回事? 求助!数据管道问题 砌码者最悲惨的事 哪有CISCO WORK2000下载?(5CD的) 有没有具有代码自动提示的WIN32汇编IDE? 软件发布:完整版通讯录 买同一个书包,小明花去了他所带钱的5/8,小红花去了她所带钱的3/5求两个人所带钱的比,如果是方程就要把解的过程详细的打出来好么 有一种植物的茎是红色的,叶子是绿色的,请问是什么花啊 小红的明明带着同样多的钱去买大数学本..小红花光了自己的钱,并向明明借了1元,刚好买了8本数学本,明明剩下的钱恰好还可以买4本数学本.那么数学本的单价是多少?用方程解 小明和小红一共有250元,当小明花掉他自己的5分之2,小红花掉40元后两人剩下的钱相等求小明原来的钱是多少? 一种红色的花 花朵像纸做的,谢了以后变成暗紫色.叶子有点像南瓜的叶子. 数学知识竞赛共20题,小红做对了总题数的4分之3,明明做对的题数是小红做对题数的5分之4.明明做对几题?急急急! 小红和小明带同样多的钱去买练习本.小红花光了自己的钱,并向小明借1元钱,刚好买了8本练习本 有绿叶子,还有红叶子,红叶子中间长着黄色的长长的棒棒,是什么花啊? 小红和明明带着同样多的钱去买大数学本.小红花光了自己的钱,并向明明借了1元刚好买了8本数学本.明明剩下的钱恰恰可以买4本数学本.那么数学本的单价是多少? 小莉买文具和图书共用去54元,其中买图书的钱数比买文具的2倍还多3元,买文具和图书各用多少元? 透过红色玻璃看黄色的花绿色的叶呈什么颜色 数学分式方程,就1题 假期里,小莉用一天学习时间的45%看课外书,她每天看课外书时间是90分,小莉每天用于学习的时间有多长?小莉每天用于学习的时间占一天的百分之几? 春天来了 我的月季花叶子由绿变黄了就4月份,原本刚刚全部变绿的叶子开始慢慢变黄,现在全都蔫了.阳光都很好,也不缺水,为什么会这样?该怎么补救?需要加什么肥料?现在的样子就像冬天的那 数学分式方程 练习题1、2都要过程.急 一.1.小星和小莉看课外书,小星看了40页,是小莉所看页数的5分之4.小莉看了多少页?2.小星和小莉看课外书,小星看了40页,比小莉所看的页数多4分之1.小莉看了多少页?3.小星和小莉看课外书,小星 这是什么花?特征是:五片黄色的花瓣、喇叭型的样子,花蕊的底是红色;绿色叶子好像小枫叶型. 一道数学分式方程题有一市政府改建工程,若由甲乙两工程队合作,24天可完成,需费用120万元,若甲单独做20天后,剩下的工程由乙做,还需20天完成,这样需要费用110万元求甲乙两队单独完成此工程 假期里,小莉用一天学习时间的45%看课外书,她每天看课外书的时间是90分.小莉 绿宝石花叶子黄了 数学的分式方程题900/X+30=600/X方程两边都乘多少? 小莉看一本书,5天看了全书的20%,照这样计算,把剩下的书全部看完还需多少天? 粉掌的花叶怎么变绿了 初二数学分式方程一题(不难)过程我忘了怎么写,请自己写出来,不要打在上面.把“火”字去掉 小明和小莉出生于1999年10月份,他们的出生日期不是同一天,但都是星期三,且小明比小莉出生早,两人出生日期之和是22,那么小莉的出生日期是( )A:15日 B:16日 C:17日 叶子由红变绿的是啥花?请问这是什么花 小红和明明带着同样多的钱去买数学本,小红花光了钱,并向明明借了1元,刚好买了8本数学本,明明剩下的钱还可以买4本数学本.那么数学本的单价是多少?(用方程解) 小明和小莉出生于1999年12月份他们的出生日他们的出生日不是同一天,但都是星期一 请问大绿叶/红色花朵的花是什么花?(有图)很绿很绿的叶子,叶片比较大 ,高有40厘米左右,开的花是红色的,如图所示.请问这是什么花?该如何培养?昨天在空调房放了一晚第二天早上起来还没 数学活动课上,韩老师给同学们出了一道题,规定一种新运算,若对于任意数有理数a和b,有ab=a-b-1,则2(-3)=? 小明和小莉出生于1998年12月份,他们的出生日不是同一天,但都是星期五,且小明比小早,两人出生日期之和是29,那么小莉的出生日期是()A、15号 B、16号 C、17号 D、18号 绿叶慢慢变红的是什么花怎么繁殖? 老师在数学课上出了两道题,规定每道题做对得2分,没做得1分,做错的0分.老师说:可以肯定全班同学中至少有6名老师出了两道题,规定每道题做对得2分,没做得1分,做错的0分.老师说:可以肯定全 《黄冈小状元》的问题:小明买了2kg梨,共22个;小莉买了3kg梨,共24个,两个人买的梨平均每个各是多少千克?谁买的梨大些? 绿叶黄色花通过红色玻璃滤镜是什么颜色 王老师在一次数学课上出了两道题,规定每道题做对得2分,没做得0分,做错扣2分,李老师说:可以肯定全班同学中至少有5名同学各题得分相同,那么这个班最少有多少名同学?A.15 B .16 C .29 D.31原书 【急】小明和小丽出生于1999年12月份,他们的出生日不是同一天,但都是星期五,且小明比小莉出生早,两人出生日期之和是22,那么小莉的出生日期是?(一元一次方程解) 什么花在春天开花 一次数学课,老师出了两道题让全班50名同学解.老师发现做对第一题的有42人,做对第二题的有29人 刚买了一盆花,不知道是什么花,请问谁知道这是什么花? 颐和园中大海棠树争奇斗艳地开满了密密层层的淡红的花.缩句为海棠开满了花.还是海棠树开花? 数学课上李老师给同学们出了一道整式求值练习题 一个数是2和3的倍数这个数是 这两盆花是什么花 什么花秋天、冬天、春天、都可以开花?还适合在班级开的,不容易死…… 一个数同时是2 3的倍数,这个是数有什么的特征? 我有一盆花,但是不知道什么名字,请问下这是什么花, 四季海棠花怎么养 2和3的倍数的共同特征是什么 中间叶子是红色的周围是绿色的一年四季都是这样是什么花?中间叶子是红色的周围是绿色的一年四季都是这样!买时老板说是叫富贵什么?不记得了,不知道哪位朋友知道是什么花,知道他的养 四季海棠的叶子打卷这盆花刚买来没多久,开始有花,我买来后花和花骨朵全都掉了.有人说是因为浇水浇多了.后来我3天浇一次水.现在两个月了,终于又开花了.可是它下面的叶子又打卷了.而且 三位同学购物,小明花去钱数的1/2等于小琳花去钱数的1/3,小琳花去钱数的3/4等于军军花去钱数的4/7,结果军军比小明多花93元,他们三人共花了多少钱?急 花像叶子一样是红色的,叶子是绿色的是什么植物,适合什么样的环境生存, 四季海棠花落了,下面的根怎么办 小明和小红共带了200元去购物,购完后2人剩下的钱正好相等,已知小明花去的和原来的钱比是3比7,小红花去小红花去的和原来的比是9比13,小明花去多少元 这是什么树?绿色树叶,红色的花 我的日本海棠花的叶子一片片枯萎了并都掉光了,我该怎么办呢? 小红花和小明去超市购物,小红买了6个果冻,每个2.1元.小明买了2块巧克力,比你多花3元,每块巧克力多少元 绿色花叶还带红色花叶是什么花? 栀子花的叶子黄了我是河南郑州的,上个星期买了一盆栀子花,但是一个星期,就开始有黄叶的情况,我发张照片,请高手来看下最近又开始掉花蕾了,郁闷了
    备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn