Bing Maps进阶系列七:Bing Maps功能导航菜单华丽的变身

  Bing Maps Silverlight Control所提供的功能导航是非常强大的,在设计上对扩展的支持非常好,提供了许多用户可扩展和直接使用的Command以及Button,不清楚的朋友可以查看我之前写的关于自定义功能导航条的文章《自定义功能导航条(Custom NavigationBar)》。但相比DeepEarth中提供的功能导航菜单没有那么粗大和动态效果,我个人而言比较喜欢DeepEarth中的功能导航菜单。首先看看Bing Maps默认的功能导航菜单:

        

  这些天收到不少询问关于在Bing Maps Silverlight Control进行Bing Maps开发中如何实现类似DeepEarth的功能导航菜单效果的邮件,在邮件里就回复了要实现DeepEarth效果的功能导航菜单是非常容易的, 我们不必费心费神的开发这样的控件,因为在最新版的DeepEarth对Bing Maps的扩展程序中已经提供了扩展Bing Maps的功能导航控件(NavigationPanel)。如下解决方案截图所示:

        

  如上示例解决方案截图,只需要将DeepEarth的源代码或发布的.dll程序集引用到项目中就可以使用其控件了。当然在使用之前还得做一个操作就是添加对控件的引用:

xmlns:m="clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl"
xmlns:dp="clr-namespace:DeepEarth.Client.Controls.DEMap;assembly=DeepEarth.Client.Controls.DEMap.NavigationPanel">

  DeepEarth所提供的功能导航菜单控件实际上就是对Bing Maps Silverlight Control的一个扩展,控件的使用与直接在DeepEarth中使用一样的,如果您还不曾使用过DeepEarth的功能导航菜单控件可以查阅《探索DeepEarth的内置控件》这篇文章里的详细介绍。在Bing Maps中使用的DeepEarth为Bing Maps扩展的NavigationPanel不同的是必须为其指定一个MapName属性,这个MapName属性的值也就是Bing Maps Silverlight Control的对象的Name,通过指定Bing Maps的Name的方式简介的给Bing Maps Silverlight Control附加出了一个DeepEarth的功能导航菜单效果,而原来Bing Maps Silverlight Control默认的导航菜单只需要将其设置为不显示(Collapsed)既可。如下代码块:


<Grid x:Name="LayoutRoot" Width="500" Height="420">
    <m:Map x:Name="map" Margin="0,0,0,0" CredentialsProvider="{StaticResource MyCredentials}" 
           NavigationVisibility="Collapsed">
    </m:Map>
    <dp:NavigationPanel x:Name="navPanel" MapName="map" Margin="4,4,4,4" 
                        HorizontalAlignment="Left" 
                        VerticalAlignment="Top">
        <StackPanel Orientation="Horizontal">
            <Button x:Name="btnBeiJing" Content="重庆" Width="60"
                    Style="{StaticResource StandardButton}"  
                    Click="btnChongQing_Click" 
                    Margin="3,3,3,3"></Button>
        </StackPanel>
    </dp:NavigationPanel>
</Grid>

  如上功能导航菜单里布局了一个按钮,该按钮实现了将地图动态定位导航到重庆地区的地区区域,定位代码非常简单,直接设置地图的中心点就OK了。如下代码块:

private void btnChongQing_Click(object sender, RoutedEventArgs e)
{
    map.Center = new Microsoft.Maps.MapControl.Location(29.5076372217973, 106.489384971208);
    map.ZoomLevel = 10;
}

        

版权说明

本文属原创文章,欢迎转载且注明文章出处,其版权归作者和博客园共有。

作      者:Beniao                                微软Bing Maps开发群:75662563

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

 
 

Bing Maps进阶系列七:Bing Maps功能导航菜单华丽的变身的更多相关文章

  1. Bing Maps进阶系列四:路由功能服务(RouteService)

    Bing Maps进阶系列四:路由功能服务(RouteService) Bing Maps提供的路由功能服务(RouteService)可以实现多方位的计算地图上的路线指示,路径行程等功能,比如说实现 ...

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

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

  3. Bing Maps进阶系列九:使用MapCruncher进行地图切片并集成进Bing Maps

    Bing Maps进阶系列九:使用MapCruncher进行地图切片并集成进Bing Maps 在Bing Maps开发中,由于各种应用功能的不同,更多的时候用户可能需要将自己的一部分图片数据作为地图 ...

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

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

  5. Bing Maps进阶系列五:通过DeepEarth的MiniMap控件为Bing Maps扩展迷你小地图

    Bing Maps进阶系列五:通过DeepEarth的MiniMap控件为Bing Maps扩展迷你小地图 Bing Maps Silverlight Control虽然为我们提供了简洁.方便的开发模 ...

  6. Bing Maps进阶系列三:使用地图图像服务(ImageryService)

    Bing Maps进阶系列三:使用地图图像服务(ImageryService) 地图图像服务(ImageryService)提供了根据地理位置(经度和纬度)坐标和地图的缩放级别解析出对应于地图图片系统 ...

  7. Bing Maps进阶系列二:使用GeocodeService进行地理位置检索

    Bing Maps进阶系列二:使用GeocodeService进行地理位置检索 在<Bing Maps进阶系列一:初识Bing Maps地图服务>里已经对GeocodeService的功能 ...

  8. Bing Maps进阶系列一:初识Bing Maps地图服务

    Bing Maps进阶系列一:初识Bing Maps地图服务 Bing Maps提供了一组WCF的地图服务,使用这些服务我们可以方便的在自己的应用系统里实现地理位置搜索等相关功能.他们分别是地理编码服 ...

  9. ABP入门系列(6)——定义导航菜单

    ABP入门系列目录--学习Abp框架之实操演练 完成了增删改查以及页面展示,这一节我们来为任务清单添加[导航菜单]. 在以往的项目中,大家可能会手动在layout页面中添加一个a标签来新增导航菜单,这 ...

随机推荐

  1. [HNOI2006]最短母串 (AC自动机+状压)

    Description 给定n个字符串(S1,S2,„,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,„,Sn)都是T的子串. Input 第一行是一个正整数n(n<=12) ...

  2. [转]SSD固态存储大观(一)

    From: http://blog.51cto.com/alanwu/1405874 Contents 1.概述... 1 2.FusionIO:Pcie SSD的始作俑者... 2 3.Intel ...

  3. 【实验级】Docker-Compose搭建单服务器ELK伪集群

    本文说明 由于最近在搭ELK的日志系统,为了演示方案搭了个单台服务器的日志系统,就是前一篇文章中所记,其实这些笔记已经整理好久了,一直在解决各种问题就没有发出来.在演示过程中我提到了两个方案,其中之一 ...

  4. springmvc学习及源码地址

    http://jinnianshilongnian.iteye.com/blog/1634096

  5. 14mysql事务、数据库连接池、Tomcat

    14mysql事务.数据库连接池.Tomcat-2018/07/26 1.mysql事务 事务指逻辑上的一组操作,组成这组操作的各个单元,要么全部成功,要么全部不成功. MySQL手动控制事务 开启事 ...

  6. 洛谷——P2827 蚯蚓

    P2827 蚯蚓 题目描述 本题中,我们将用符号 \lfloor c \rfloor⌊c⌋ 表示对 cc 向下取整,例如:\lfloor 3.0 \rfloor = \lfloor 3.1 \rflo ...

  7. Django DTL模板语法中的循环

    from django.shortcuts import render def index(request): context={ 'books':[ '5年高考3年模拟', '家猪养殖与配种', ' ...

  8. Python运算符(Python学习笔记03)

  9. 1.Linux标准IO编程

    1.1Linux系统调用和用户编程接口 1.1.1系统调用 用户程序向操作系统提出请求的接口.不同的系统提供的系统调用接口各不相同. 继承UNIX系统调用中最基本和最有用的部分. 调用按照功能分:进程 ...

  10. Unity对象的所有组件深拷贝与粘贴

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/51454847 作者:car ...