设为首页 收藏本站
查看: 815|回复: 0

Windows Phone 7 中BingMap控件的使用

[复制链接]

尚未签到

发表于 2015-5-11 14:06:47 | 显示全部楼层 |阅读模式
  在使用BingMap时需要验证密钥(Access Key),因此我们先上BingMap官网注册,注册完全免费。如果没有验证密钥将无法从Web上获取BingMap服务。
  注册密钥的BingMap官网网址:
  https://www.bingmapsportal.com
DSC0000.jpg
  如果用户没有Windows Live ID,则需要先注册一个Live ID账号(点击Create).如果已有Live ID账号,则直接登录(Sign In).
  登录之后,点击Create or View Keys
DSC0001.jpg
  之后进入注册Key的界面。填上相应信息之后点击确定,就可以获得Key值了。保存这个Key,之后会用到,只有拥有这个Key,我们才可以使用BingMap的各项功能。
  在注册完成之后,下面具体介绍如何使用BingMap控件。
一.Map控件显示地图

新建一个项目,然后添加一个Map控件。这时会自动添加对Microsoft.Phone.Controls.Maps命名空间的引用。

添加之后,会再MainPage.xaml文件中自动生成如下代码:









完成以上的工作之后,运行程序,我们便可以看见地图了。下面是运行视图:

DSC0002.jpg
二.添加地图的缩放功能

  首先我们添加一个ApplicationBar,并添加两个Button代码如下:









  之后在Button的Click事件的响应函数中添加如下代码:



//BingMap的ZoomLevel即表示的地图的视图精度,是一个Double类型的数值
private void ZoomInButton_Click(object sender, EventArgs e)
{
++bingmap.ZoomLevel;
}
private void ZoomOutButton_Click(object sender, EventArgs e)
{
--bingmap.ZoomLevel;
}
  完成以上步骤之后我们便实现了地图的缩放,运行视图如下:
DSC0003.jpg DSC0004.jpg
三.添加地图和卫星视图功能

  我们添加在ApplicationBar中添加两个MenuItem.代码如下所示:







  接着我们编写他们的Click事件,代码如下:



private void RoadMenuItem_Click(object sender, EventArgs e)
{
bingmap.Mode = new RoadMode();
}
private void AerialMenuItem_Click(object sender, EventArgs e)
{
//AerialMode有两个函数重载,当设置为true时,则表示显示一些地图信息,//例如公路,名称等。
//当设置为False时,只显示地貌信息,而没有其他的多余显示
bingmap.Mode = new AerialMode(true);
}
  这是运行效果视图:
DSC0005.jpg DSC0006.png
四.添加地图定位居中的功能

  通过设置经纬度坐标和地图分辨率,可以实现上面的功能,首先我们添加一个MenuItem,名为定位居中,并添加Click事件
  接着我们去MainPage.XAML编写它的事件响应函数,代码如下:



private void CenterMenuItem_Click(object sender, EventArgs e)
{
//两种方式
//bingmap.Center = new System.Device.Location.GeoCoordinate(42.1, -122.8);
//bingmap.ZoomLevel = 15;
//SetView有两个参数,一个是定位坐标的经纬度
//另一个则是地图显示的分辨率大小
bingmap.SetView(new GeoCoordinate(42.1, -122.8), 1000);
}
  在这里,以上的定位的坐标点在这里是我们自己设定的,在真实的应用中,一般通过Location Service来获得用户或其他的地理位置坐标,然后代入SetView中,实现可换的位置定位功能。
五.添加地图图钉标示功能

  我们在ApplicationBar中添加一个Button,代码如下:




  接着我们填写Click事件响应函数,代码如下:



private void PushBingButton_Click(object sender, EventArgs e)
{
//新建一个图层,我们用这个图层来添加我们要用的标示图钉
MapLayer maplayer = new MapLayer();
//图层建好以后,我们需要把它添加到我们的地图中去
            bingmap.Children.Add(maplayer);
//准备工作完了以后我们就要开始新建我们的图钉了
Pushpin pushbing = new Pushpin()
{
//这是图钉标示所在的地理位置
Location = new GeoCoordinate(41.8000, 123.38333),
//图钉显示的内容
Content="沈阳"
};
//最后将这个图钉添加到图层中,这样便可以标示出某一个地理位置了
            maplayer.Children.Add(pushbing);
}
  以上我们添加了一个图钉,我们还可以添加其他的元素例如一张图片(这里需要指定图片的路径),或则多个图钉,在元素创建好之后,只需要添加到图层中即可。
  下面是运行的效果图:
DSC0007.jpg
  最后推荐一个BingMap的官网网址,其中有很多资源和示例,非常值得一看
  
  http://www.microsoft.com/maps/isdk/silverlight/
  以上内容参考了Jake Lin 的视频,在此推荐大家看看一看,相信会很有帮助。
  (版权所有,转载请标明出处)
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-65971-1-1.html 上篇帖子: [zz]更改Ubuntu 10.04和Windows 7启动顺序 下篇帖子: (转)Windows 7下安装配置PHP+Apache+Mysql环境教程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表