Windows Phone
wp7
英文原文:
Windows Phone Mango Sample: Bing Maps
在Windows Phone上开发的体验是很好的,但也不总是容易。最近我遇到一个问题就是需要在地图上标记一个地点。我需要标记的是“丹佛市,卡罗莱纳州”。现在问题是,要在地图上标记地点就需要用Pushpin,而要用Pushpin就需要知道经度和纬度。
还好Virtual Earth Geocoding Web Service,也叫做Bing Maps Geocoding Web Service可以解决这个问题。注册一个开发者账号,传入地址信息,Web Service就会返回该地址的经纬度。
第一步:创建Bing Map账户
你需要一个Bing Application Key来完成这个功能。你可以通过你的Windows Live ID来获取这个Key,地址
https://www.bingmapsportal.com/
第二步:向你的手机APP添加地图
你可以在你想要的地方放你的地图,它可以是全屏的,也可以是在一个Pivot中。地图的移动和缩放都是手势控制的,所以你不需要放置任何的按钮。你的XAML看起来会是这样的:
然后你需要把你的第一步中拿到的Application Key填充到 CredentialsProvider 中。然后,你的地图就可以开始工作了。当然你也可以用程序的方式注入Application Key:
第三步:引用 Geocoding 服务
首先你需要添加一个 Service Reference 到你的工程中。然后 Geocoding 服务就会解析地址字符串。这个服务非常好用,我觉得他们很有可能推动地址的标准化。
你可以参考下面的链接来设置你的reference
http://dev.virtualearth.net/webservices/v1/geocodeservice/geocodeservice.svc/mex
你添加了该服务后,调用这个服务是一个标准流程。这个代码非常难懂,基本上你需要Copy&Paste。你可以参考一下MSDN。我的代码如下:
这个方法和简单,它需要一个地址字符串作为输入,例如“123 Main Street, Conifer, CO 80433”或者“Denver, Colorado”,然后这个方法就会返回最接近的地址,它是异步的调用,所以需要一个回调函数,我的方法是这样的:
第四步:运行
到这里为止,你的开发任务已经完成了。你下面要做的就是运行这个程序,它应该看起来是这样的:
你还可以用Bing Map做很多事情,你可以参考MSDN上面的SDK。希望我的文章能让你开始使用这个功能,让你的应用也具有位置的特性。
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
2KB翻译工作遵照
CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务