• 【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/

  • 相关阅读:
    Python3学习笔记27-ConfigParser模块
    Python3学习笔记26-unittest模块
    HTML学习笔记09-列表
    HTML学习笔记08-表格
    [hdu1402]A * B Problem Plus(FFT模板题)
    [bzoj2179]FFT快速傅立叶
    [bzoj3884]上帝与集合的正确用法
    [ural1132]Square Root(cipolla算法)
    MD5算法的c++实现
    DES算法的c++实现
  • 原文地址:https://www.cnblogs.com/beniao/p/1622728.html
Copyright © 2020-2023  润新知