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

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服务搜索此位置的名称。
    兴趣点
    在我的工作中,我添加了几个按钮来改变不同地图的模式如:航空,公路,街道,卫星,...... 等等,但我发现,这是不必要的,所以我删除了它。
    历史
    这是第一个版本,我会尽快与更先进的功能,转载时请注明出处。

     

    2013 Q2 Android手机出货量再创新高 iPhone三年来新低 如何一个人打造日PV百万的网站架构——SDCC 2013讲师曹力专访 【一周观察】动辄9位数以上的投资,云数据中心缺口巨大! 硬件创业到底有多火? 知名网站分享:PHP代替Perl,Redis置换MySQL,日处理过亿PV 涨姿势了:Unity CEO聊如何玩转开发者生态 移动周报:再造Ruby女神背后的开发故事 超算什么都弱爆了:模拟一秒人脑计算需要8.3万处理器40分钟 人才短缺不能只靠等 看分析人士给硅谷的3个方案 九个相当有吸引力的WebGL演示 巨人网络朱永明谈运营:游戏就是社会的缩影 Dragon Forged创始人:不想当空军的开发者,不是好程序员 创业者应该怎样走出idea迷宫? TIOBE 2013年8月编程语言排行榜:Java领衔称霸 Gartner新报告:为改善风险管理,云服务合同需要更透明 没有银弹:探讨 Java 8 新增特性的优缺点 SDCC 2013议题更新 Pinterest架构实践、推荐系统、微信应用... 拥有82944个处理器的超级计算机 40分钟才能模拟一秒人脑活动 剑指IE10 最新测试版Chrome增加更多触摸屏功能 理性对待“云”——冲向“云”之前你需考虑的事 为Ruby On Rails开发者准备的5款IDE 一位开发人员的生日愿望清单 当“硅”已走到尽头,我们又该用什么去维系摩尔定律? 高端大气上档次 8位iOS顶级女程序媛 谁都可以做开发者:微软推出Windows Phone Web工具 Mozilla正式发布Firefox 23 新增混合内容拦截 网络监控功能 14条建议,使你的IT职业生涯更上一层楼 依托微信的电商产品实践——SDCC 2013讲师潘凡专访 IBM将向Google、英伟达等授权Power架构技术 人脑研究将推动下一代网络革命?从大爆炸到大收缩 H3C携手F5将“空转”数据中心变为“分布式数据中心” 数据库引擎问题 (亟待解决) 来者有分!!!! 请问大哥们如何在ASP中实现在线对WORD文件进行修改 。。。。。急。。。。 请问 gmp 是什么东西 局域网视音频合成传输!!! DELPHI 调用过程ADOStoredProc1的问题?? 如何在多页面浏览器里面设置“前进”,“后退”的按扭的状态?? 使用CppWebBrowser控件显示WEB页面,如何以流的方式读入web页面数据 javabean的一个问题 vc的远程调试 请教一个局域网视音频合成传输的问题!!! 用SQL如何更新数据表的图片? 一个30多岁的人,他刚开始学VC,请问他有前途吗? 关于Cookie的问题,不知道在哪里问合适 谁有用ASP做用MSchart控件生成的饼图源程序给我一份,给他30分! 为什么我的显卡驱动程序安装不上???主板是815Ep的! 请教一个局域网视音频合成传输的问题!!! 不好!出现错误!请帮忙! 有谁对java3d熟悉阿,急需探讨 暴笑中国队连环画 谁能帮帮新手啊!!!!! 如何通过一个网卡用adsl将整个局域带上网 程序中的消息对话框怎么不直接蹦出来,而是要按一下Alt才行? 程序中的消息对话框怎么不直接蹦出来,而是要按一下Alt才行? ListBox->Items->Add()的问题! 为什么我们的局域网内客户机不自动得到dns server 和默认网关??? 请推荐几款多系统启动控制软件 问各位高手一个很菜的问题! 数据窗口中的检索数据问题 毕业设计要交了!急啊!请问fastreport预览时,怎么没有“页面设置”菜单?? SetCellTextColor 的问题 ===读取时如何成比例的改变一张图片的尺寸及大小=== 毕业设计要交了!急啊!请问fastreport预览时,怎么没有“页面设置”菜单?? 意大利终于出线了 QuickRep1.PrinterSettings.duplex中duplex(双重,双向)是怎样用? 怎样使FORM上默认的最大,最小按钮变小一点,比如象OICQ的FORM上按钮? 关于servlet的问题 数组使用的问题,两种下标为什么只一种可以? 关于C语言编写数值计算的,事关人命啊~~~~ 关于组件问题? 急!急!急!一个宽带的问题? 做了个网站,希望大家看看!!!www.gz111.net 谁有window blinds的注册码 在DOS下,如何设置成1024 X 768,256色 如何分页显示XML数据岛内容 非常常见的一个问题,现在也没有解决,请高手帮忙。 公司要求学日语,学三个月,没工资,不知道努力学三个月能否达到凑合能用水平 我在昆明的迪信通买了摩托罗拉998++后才发现上当了!! 紧急求救,关于断电 简单:几个子查询合并为一个记录? 请问如何用sql语句查询一段日期之内的数据? 把冰水混合物放在-10℃的室外,混合物的温度将是? 高中化学+乙烯通入溴水方程式 矿酸水怎么配置我要配置1%的矿酸水.是用冰乙酸还是用草酸配置 是不是用矿泉水 具体怎么配置 1、将盛有冰水混合物的容器放在-10℃的室外,则( ).A.冰和水的温度都逐渐降为-10℃ B.水温渐渐降为-10℃,且水渐渐结冰C.水温保持0℃,且水渐渐结冰 D.水渐渐降温而结冰,但冰的温度保持0 乙稀通入溴水中化学方程式要用有机物结构简式表示 右图是某品牌家用电饭锅的工作原理图,已知R2的阻值为44欧.单独闭合开关S1时,电饭锅处于保温状态,此时的保温功率为44W.求:(1)R1的阻值是多少?(2)同时闭合开关S1,S2,电饭锅工作1min消耗 你知道哪些国家和城市的名称与河流,湖泊有关? 乙烯和甲烷的混合气通入足够的溴水方程式 养鸡场鸡舍内用什么节能灯泡好?要能防潮防鸡舍内腐蚀性气体,最好说下什么牌子的具体到什么型号,价格多少. 碱性水和酸性水对身体(生活)方面有什么好处?市场上有一种饮水机,可以把水分成碱性和酸性,我想知道长期喝碱性水是否对身体有好处?如果在怀孕前喝碱性水对以后胎儿有什么影响?酸性 将2mol/LCuSO4溶液和1mol/LH2SO4溶液等体积混合求混合液中CuSO4和H2SO4的物质的量浓度混合液中铜离子氢离子 硫酸根离子物质的量浓度 【求助】蛋鸡鸡舍照明!白织灯与节能灯哪个好?对鸡或者鸡蛋有什么影响?会不会影响产蛋?这两种灯哪个好?小弟真的没分!真的不怎么用这个! 哪些国家和城市的名称和河流、湖泊有关? 将0.06mol/LH2SO4与0.1mol/LNaOH溶液等体积混合后,说的溶液PH为A.1.7 B.2 C.12 D.12.3 什么是湿式氧气储罐?湿式氧气储罐和低温液氧储罐的区别是什么?储存氧时都带压储存吗 哪些国家的名称和河流湖泊有关?哪些城市的名称和河流湖泊有关? 溴水中通入乙烯 质量加重4.2克 求溴吸收的乙烯体积 液氧在储存的时候需要注意哪些事项? 碱性水对身体有什么好处? 20ml0.1mol/L的HNO3溶液与10mlo.1mol/LH2SO4溶液导电能力比较 350平方米的鸡舍灯高度2米,需要多少瓦的暖光节能灯?需要多少个? 那些国家和城市的名字与河流、湖泊相关?尽量要多,因为有可能会和书上的重复哦! 把2mol/CuSO4溶液与1mol/LH2SO4溶液等体积混合,向其中加入足量的铁粉充分反应,求反应后溶液中Fe2 的...把2mol/CuSO4溶液与1mol/LH2SO4溶液等体积混合,向其中加入足量的铁粉充分反应,求反应后溶液中Fe 液氧储存需要满足哪些条件,压力多少,温度多少.需要哪些设备? 那些国家与城市的名字和河流,湖泊有关求求各位博学的人 用PH试纸测溶液的PH时,试纸用蒸馏水润湿,为什么溶液的PH不一定有误差 Ca 与 酸骨骼中都含有一定量的碳酸钙,在猪骨头汤时常常要加入少量食醋,这样可是是汤中的钙含量增加,更好地打倒不改的效果,为什么? 一个上下粗细一样的平底玻璃杯放在水平桌面上,内盛有深度h1=6.80cm的水.把一个玉石小酒盅开口向上轻轻放在水面上,使其漂浮,用刻度尺量出此时杯中水的深度h2=7.30cm,把小酒盅完全浸没到水 乙烯与苯乙烯混合的加聚反应方程式 高压低温是怎么回事?一般不是压力越高,温度也越高吗!为什么我看书上写液化天然气是在高温低压的情况呢? 那些国家的名称和河流、湖泊有关 A和E溶液显碱性,为碱或强碱弱酸盐.根据离子共存可知二者为Ba(OH)2、Na2CO3,由于0.1mol/L的A溶液的pH小于13,所以A是Na2CO3;E是Ba(OH)2不明白 氧气在低温、高压时能变为液体或固体吗?简略而准确即可, 请写出异戊二烯臭氧分解的各种产物的结构简式,他们的物质的量的比为?有两个小问的,别漏啊 李白的诗描写最高的楼是那句 式子列好.并说出原因题目完全在这里;一个圆柱体玻璃杯内盛有水,水面高是2.5厘米,玻璃杯内侧的底面积是72平方厘米.在这个玻璃杯中放入棱长为6厘米的正方体贴快后,水面没有铁块.这是水面 石头扔在水中引起什么的什么而发声 描写楼的古诗 姑家有6个鸡舍,平均每个鸡舍一个月能下240个鸡蛋,6个月能下.你有什么发现 石块扔到水中引起的是什么 写古诗之最 最高的楼—— 最长的头发—— 一摩尔乙烯于Cl2发生加成反应完全后,在于Cl2发生取代反应,整个过程最多消耗多少Cl2. 为什么脂肪是非极性化合物,就可以以无水形式存在体内 醇中的oh的极性为什么比水弱? 小强家的鸡舍占地面积是16平方米,扩建后占地20平方米,现在鸡舍的占地面积比原来增加了百分之几? 我出了山洞(扩句,至少两处) 四季分明的地方的冬天有什么特点?使用生动的语言描述一下 求几个加成反应反应方程式!要加成反应方程式~1乙烯与氢气反应方程式2乙烯与氯化氢反应3乙烯与水反应4甲烷的加成反应5乙烯的取代反应 小溪从山洞里流出.扩句急 你家乡的冬天有什么特点?用生动的语言描述40~50字. 1.小强家的鸡舍占地面积是16平方米翻建后占地20平方米现在鸡舍的占地面积比原来增加了百分之几在线等急2.小李去年的身高是125CM今年的身高是133cm 小李今年的身高比今年增加了百分之几 山洞里很黑,________________.(划线部分写山洞里到底怎么个黑法) 镁能把酸性水变成碱性水吗?金属镁,能把偏酸性的水变成碱性水吗?我是看到一款净水机的滤芯里有镁的成分,真的很神奇,偏酸性的水一过滤就变碱性的了。这么直接加镁对身体会不会有什 分光光度法测铁含量时为什么配置铁的标准溶液时硝酸添加量依次降低? 冬天的词语 怎么能让碱性水变成酸性的? 为什么配置铁的标准溶液时硝酸的添加量依次降低 冬天的词语有哪些 如何能让酸性水变为碱性水而且还能直接引用 化学:关于有水化合物的配制问题就是那种五水什么,十水神马的化合物,在配置中要不要把它的N水的相对原子质量算进去?或者该怎么算?求大神指教,最好能有易理解的举例!急!
    备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘