【Silverlight】Bing Maps学习系列(六):使用扩展模式(Extended Modes)

  微软Bing Maps推出有有段时间了,通过不断的改进和新的地图更新,现在已经基本上形成了一套较为完整的地图引擎方案了,前段时间推出了Bing Maps的Silverlight控件,这个版本的地图模式仅仅只支持路径模式(Road)和卫星模式(AerialMode),通过不断的努力终于于本周三(2009-12-9)推出了两种对Bing Maps的Silverlight控件呈现Bing Maps的扩展模式(Extended Modes),既鸟瞰图模式(BirdseyeMode)和街道模式(StreetsideMode)。当我收到微软关于扩展地图模式的邮件通知的时候,迫不及待的通过连接查看了相关资料,感觉这两种模式下的地图效果很好,近一步的感觉到Bing Maps越来越完善了。

  要使用扩展模式必须得做些准备工作,原先的控件版本肯定是实现不了,得重新下载新的控件版本才支持新地图模式的功能。首先得下载新版本的支持扩展模式的Bing Maps Silverlight控件,其次还要下载地图扩展模式的组件(Microsoft.Maps.MapControl.ExtendedModes.dll),此扩展组件由对地图显示模式的扩展的两个类(BirdseyeMode、StreetsideMode)组成,分别表示鸟瞰图模式和街道模式。

  扩展模式的使用非常简单,只是修改地图的Mode属性就大功告成了。这里不作介绍,不清楚的朋友可参考本系列第二篇,扩展模式简单示例如下:


1 <Grid x:Name="LayoutRoot" Width="640" Height="480">
2     <m:Map CredentialsProvider="AkzZURoD0H2Sle6Nq_DE7pm7F3xOc8S3CjDTGNWkz1EFlJJkcwDKT1KcNcmYVINU" x:Name="myMap" 
3            Center="34.9294740237661,107.506492025863" ZoomLevel="4">
4     </m:Map>
5 </Grid> public partial class MainPage : UserControl
{
    public MainPage()
    {
        InitializeComponent();
        //设置地图显示模式为鸟瞰图模式
        myMap.Mode = new BirdseyeMode();
    }
}

  如上代码块直接设置地图Mode为BirdseyeMode既为鸟瞰图模式,要设置街道模式则使用StreetsideMode。

  Bing Maps Silverlight模式不会将这两种扩展模式添加到地图导航菜单中,如果需要在导航菜单上显示这两种模式的菜单项需要人为的通过扩展模式的静态方法AddModeToNavigationBar来实现,代码如下:


 1 public partial class MainPage : UserControl
 2 {
 3     public MainPage()
 4     {
 5         InitializeComponent();
 6 
 7         //将鸟瞰图模式添加到地图导航菜单
 8         BirdseyeMode.AddModeToNavigationBar(myMap);
 9         //将街道模式添加到地图导航菜单
10         StreetsideMode.AddModeToNavigationBar(myMap);
11 
12         myMap.Mode = new BirdseyeMode();
13     }
14 }

        

  关于扩展模式的使用主要就是设置显示模式、和设置导航菜单两个点,可惜的是现在还没有比较完整的鸟瞰图地图数据和街道地图数据,欧洲部分国家开通了一部分地图数据,有待微软继续努力,在不久后推出中国地图的鸟瞰图地图数据和街道地图数据。

相关说明

本文属学习笔记文章,愿与有志者共同学习交流。欢迎转载,但请在明显地位标记本文的原文连接。

作      者:Beniao

文章出处:http://beniao.cnblogs.com/  或  http://www.cnblogs.com/

【Silverlight】Bing Maps学习系列(六):使用扩展模式(Extended Modes)(转)的更多相关文章

  1. Bing Maps进阶系列六:使用Silverlight剪切(Clip)特性实现Bing Maps的迷你小地图

    Bing Maps进阶系列六:使用Silverlight剪切(Clip)特性实现Bing Maps的迷你小地图 Bing Maps Silverlight Control虽然为我们提供了简洁.方面的开 ...

  2. 【Silverlight】Bing Maps学习系列(八):使用Bing Maps Silverlight Control加载自己部署的Google Maps

    [Silverlight]Bing Maps学习系列(八):使用Bing Maps Silverlight Control加载自己部署的Google Maps 上个月微软必应地图(Bing Maps) ...

  3. 【Silverlight】Bing Maps学习系列(七):使用Bing Maps的图片系统(Tile System)

    [Silverlight]Bing Maps学习系列(七):使用Bing Maps的图片系统(Tile System) 目前包括微软必应地图在内的几乎所有在线电子地图(如:Google Maps等)都 ...

  4. 【Silverlight】Bing Maps学习系列(五):绘制多边形(Polygon)图形(转)

    [Silverlight]Bing Maps学习系列(五):绘制多边形(Polygon)图形 Bing Maps Silverlight Control支持用户自定义绘制多边形(Polygon)图形, ...

  5. 【Silverlight】Bing Maps学习系列(四):使用图钉层(Pushpin layer)及地图图层(MapLayer)(转)

    [Silverlight]Bing Maps学习系列(四):使用图钉层(Pushpin layer)及地图图层(MapLayer) 如果我们需要在Bing Maps中加入一个小图钉标记,该如何实现了? ...

  6. 【Silverlight】Bing Maps学习系列(三):如何控制地图

    [Silverlight]Bing Maps学习系列(三):如何控制地图 本篇主要介绍如何对地图的一些常用控制操作,包括地图加载模式.根据精度和纬度定位.变焦程度等. 一.动态设置地图加载模式 在本系 ...

  7. 【Silverlight】Bing Maps学习系列(二):通过Bing Maps Silverlight Control如何显示地图(转)

    [Silverlight]Bing Maps学习系列(二):通过Bing Maps Silverlight Control如何显示地图 如本系列第一篇你所介绍的,开发基于Silverlight的Bin ...

  8. 【Silverlight】Bing Maps学习系列(一):开发前的准备工作

    [Silverlight]Bing Maps学习系列(一):开发前的准备工作 微软推出的Bing Maps地图引擎,对外开放了Silverlight和Ajax两种客户端API,同时微软针对全球地图还推 ...

  9. Bing Maps进阶系列八:在Bing Maps中集成OpenStreetMap地图

    Bing Maps进阶系列八:在Bing Maps中集成OpenStreetMap地图 OSM(OpenStreetMap-开放街道地图)服务就是一种发布自己地图数据图片为服务的一种实现类型,开放街道 ...

随机推荐

  1. sh与bash执行语法严谨问题

    在Linux中,我们知道有几种方式可以运行.sh脚本 通过sh或者bash命令来运行 通过source来运行 通过./xxx.sh来运行(这种方式要求对脚本文件有r和x权限才行) 今天在写脚本的过程中 ...

  2. YUM:Yellow dog Updater Modified

    1. 什么是YUM YUM(全称为 Yellow dog Updater Modified) 是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从 ...

  3. 深入React技术栈之setState详解

    抛出问题 class Example extends Component { contructor () { super() this.state = { value: 0, index: 0 } } ...

  4. Python之面向对象封装

    Python之面向对象封装 封装不是单纯意义的隐藏 什么是封装: 将数据放在一个设定好的盒子里,并标出数据可以实现的功能,将功能按钮外露,而隐藏其功能的工作原理,就是封装. 要怎么封装: 你余额宝有多 ...

  5. (十二)python3 迭代器

    可以直接作用于 for 循环的对象统称为可迭代对象: Iterable .一类是集合数据类型,如 list . tuple . dict . set . str 等,一类是 generator ,包括 ...

  6. 79-Envelopes,包络指标.(2015.7.1)

    Envelopes 包络指标 观井映天 2015.7.1

  7. 集训第四周(高效算法设计)L题 (背包贪心)

    Description   John Doe is a famous DJ and, therefore, has the problem of optimizing the placement of ...

  8. [bzoj1078][SCOI2008][斜堆] (贪心)

    Description 斜堆(skew heap)是一种常用的数据结构.它也是二叉树,且满足与二叉堆相同的堆性质:每个非根结点的值都比它父亲大.因此在整棵斜堆中,根的值最小.但斜堆不必是平衡的,每个结 ...

  9. [java基础原理] 数字类型原理

    1.常识 2.包装类型的继承树 3.通用JAVA包装类示例 package base.com.hzeng.jdk; import java.lang.annotation.Native; public ...

  10. 面试高峰期,如何应对面试官的jvm刁难,特写一篇jvm面经(第一部)

    已经进入三月份,正所谓金三银四,正是一年最好的招聘期,想必我的公号粉丝们一定有不少想要跳槽的吧,哈哈,/**偷偷告诉你们其实小编也准备跳槽*/(我要加个注释,被老板知道可就完蛋了),说到面试,想必大家 ...