学习使用Bing Maps Silverlight Control(二):基本控制

3 基本控制

1、控制地图加载模式。Bing Maps的图层主要有普通道路(RoadMode)和卫星图(AerialMode),其中卫星图还可以选择是否加载标记(Labels)信息。地图控件显示模式的变更示例代码如下:

//1.普通地图模式
this.map.Mode = new RoadMode();

//2.卫星图模式类有两个构造函数
// 其一是不传任何参数进去,直接显示卫星图
// public AerialMode() : this(false);
// 其二是传入一个布尔值,表示是否加载标记信息层
// public AerialMode(bool labels);

//卫星地图模式(不带标记)
this.map.Mode = new AerialMode(false);

//卫星地图模式(带标记)
this.map.Mode = new AerialMode(true);

//我们还可以使用这种方法进行初始化卫星图模式
//卫星地图模式(带标记自动隐藏)
this.map.Mode = new AerialMode() { Labels = true, FadingLabels = true };

将其放到相应需要变更地图模式的处理代码中,即可达到相应效果。

附加:Bing Maps目前还有两个处于测试中的扩展模式(Extended Modes):鸟瞰45°航拍模式(BirdseyeMode)和街景模式(StreetsideMode),只有少部分城市可以看到效果。首先需要下载 Microsoft.Maps.MapControl.ExtendedModes.dll,但是在官方的下载处(http://connect.microsoft.com/bingmaps)没有找到这个下载,我是从 http://www.zhaodll.com/dll/m/201207/162464.html 这里下到的一个,汗。。就是没有帮助和任何提示了。地图控件默认的导航工具条是不会直接显示出这两个模式的选择的,需要使用代码添加:

//将鸟瞰图模式添加到地图导航菜单
BirdseyeMode.AddModeToNavigationBar(map);
//将街道模式添加到地图导航菜单
StreetsideMode.AddModeToNavigationBar(map);

效果:

3.1

2、控制地图的中心坐标和缩放级别。Bing Maps的定位是通过经度(Longitude)和纬度(Latitude)来进行的,地图的缩放级别则是通过其ZoomLevel进行控制。我们可以通过一个SetView的方法一起进行调整:

private void btn_MapGo_Click(object sender, RoutedEventArgs e)
{
    double latitude, longitude, zoomlevel;

    //获取输入值转换为double类型
    double.TryParse(tb_Longitude.Text, out latitude);
    double.TryParse(tb_Latitude.Text, out longitude);
    double.TryParse(tb_ZoomLevel.Text, out zoomlevel);

    //将地图视图设置为该缩放位置,ZoomLevel范围:1~19,超出范围不会报错,会停留在边界。
    this.map.SetView(new Location(latitude, longitude), zoomlevel);
}

如果只想调整缩放可以通过单独设置控件的ZoomLevel进行变更:

this.map.ZoomLevel = zoomLevel;

简单的控制测试:

3.2

(以上内容部分参考自:http://www.cnblogs.com/beniao/archive/2010/01/13/1646446.html,请访问原博客查看更多。)

posted @   不是豆豆  阅读(522)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
友情链接:迷途


点击右上角即可分享
微信分享提示