【Bing Map学习系列】(3)——如何通过Bing Maps Silverlight Control控制地图

上一篇文章最后提出了一个问题:用户如何通过编程来控制地图?

利用Bing Maps Silverlight Control将会很容易办到,本文主要介绍如何对地图的一些常用控制操作,包括地图加载模式、根据精度和纬度定位、变焦程度等。

本文感谢原创作者:http://www.cnblogs.com/beniao/archive/2009/11/28/1612418.html

一、动态设置地图加载模式

在文章《Bing Map学习系列】(2)——如何通过Bing Maps Silverlight Control显示地图》中介绍了地图加载模式,可以给地图控件设置一种模式的地图加载模式,呈现数据的时候根据制定的模式加载地图。其实我们也可以通过程序动态的来改变地图的加载呈现模式,方式和设置模式加载模式是一样的,都是通过地图控件(Bing Maps Silverlight Control)的Mode属性来控制。

比如在程序中实现上篇文章中所描述的三种模式地图的显示,在MainPage.xaml.cs文件中可以如下来编写代码实现:

通过布局三个按钮分别来实现三种模式的切换,对应的前端Silverlight代码(即MainPage.xaml部分代码)如下:

运行后,效果如下图所示:

二、动态定位

可以说所有地图系统(比如常见的Google Maps,Bing Maps,ArcGIS,MapInfo等)都是通过精度(Longitude)和纬度(Latitude)来进行定位。在Bing Maps开发中,我们也可以做到动态定位,Bing Maps Silverlight Control提供了动态定位的相关API我们可以直接调用。

地图的精度和纬度都是通过double类型值表示(经测试Bing Maps中设置int,float类型值也可以),在设置精度纬度的时候需要注意,错误的度值会引发Silverlight异常。

代码如下:

SetView方法提供了多个重载版本,其中一个重载为通过Location对象使用精度和纬度构造地图坐标以及地图变焦程度参数来进行地图坐标定位。地图定位的精度和纬度表示的坐标为当前地图显示区域的中心点,可以使用地图控件的"Center"属性,值得到当前显示地图的中心坐标点(精度,纬度)。

代码如下所示:

三、动态设置变焦程度

地图变焦也可以说是镜头的放大与缩小程度,可以通过对地图控件设置ZoomLevel属性进行动态控制。变焦的取值是有限的只能取值1---16,如下为地图设置默认的加载变焦级别。

前端Silverlight的代码如下所示:

同时也支持动态设置变焦程度,通过程序动态改变ZoomLevel的值就OK了,如下示例代码:

运行后效果图如下所示:

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值