博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习使用Bing Maps Silverlight Control(六):自定义“鹰眼”地图
阅读量:7207 次
发布时间:2019-06-29

本文共 1175 字,大约阅读时间需要 3 分钟。

8 “鹰眼”地图

在电子地图中,用于显示当前窗口在全图中的位置,当前窗口换图时,鹰眼自动进行相应变化。鹰眼进行漫游。通过改变鹰眼中窗口位置可改变相应的主窗口地图显示区域。——百度百科

实现鹰眼地图实际上就是一个小尺寸的Bing Maps控件,并利用 7 自定义显示范围 中的自定义Map Mode 限制地图的缩放级别和显示范围。

首先,自定义一个适用于小尺寸地图显示的Mode,通过继承并限制ChinaMode的缩放级别来达到小地图的效果:

/// /// 中国地图的小地图模式/// public class ChinaMiniMode : ChinaMode{    public ChinaMiniMode()    {        base.MapZoomRange = new Range
(4, 4); }}

然后,向正常的地图控件中添加一个小尺寸的地图控件。

以下是前台界面xaml代码:

 
<
c
:
OfflineMap
Name
="map" AnimationLevel="UserInput"
> <
c
:
OfflineMap.Mode
>
<
c
:
ChinaMode
></
c
:
ChinaMode
> </
c
:
OfflineMap.Mode
>
 
 
 
 

其中的MiniMap就是要添加的小尺寸控件,将其宽高固定在了200x200像素,隐藏掉了所有的附加图层,把两个地图的动画效果都设定为动画效果(AnimationLevel)在用户输入(UserInput)时产生,目的是为了两个地图在进行同步移动时更加流畅,同时避免不必要的动画效果(同时也会失去设置视野时的动画效果)。两个地图的视野同步时通过数据绑定完成的,对两个地图的Center和ZoomLevel进行了双向绑定。

因为小地图只限制了一级缩放,所以把小地图的滚轮屏蔽掉(不屏蔽在滚动时会发生漂移):

 
//不允许在小地图上使用滚轮private void MiniMap_MouseWheel(object sender, MouseWheelEventArgs e){    e.Handled = true;}
 

“鹰眼”地图最终效果如下(右上角):

8.1

(以上内容部分参考自:,请访问原博客查看更多内容。)

转载地址:http://kuoum.baihongyu.com/

你可能感兴趣的文章
基于jQuery商城网站全屏图片切换代码
查看>>
Android开发之注解式框架ButterKnife在ADT中的设置
查看>>
JAVA学习篇--Java类加载
查看>>
如何清空android ListView控件的内容
查看>>
配置SELINUX
查看>>
EF里一对一、一对多、多对多关系的配置和级联删除
查看>>
linux svn启动和关闭(转)
查看>>
Hadoop序列化与Java序列化
查看>>
Java Machine Learning Tools & Libraries--转载
查看>>
BZOJ 1199: [HNOI2005]汤姆的游戏 计算几何暴力
查看>>
spring mvc 请求转发和重定向
查看>>
PID控制器(比例-积分-微分控制器)- II
查看>>
android.graphics包中的一些类的使用
查看>>
将Ojective-C代码移植转换为Swift代码
查看>>
C#控制台程序取得INSOYA视频区的视频的真实URL,视频标题,发布时间集合。
查看>>
从控制台读取password - C#
查看>>
高通公司 MSM8K GPT异常原因分析无法开机的问题
查看>>
Android 升级下载 它们的定义Updates 兼容版本
查看>>
webstorm 10.0.4 注册码
查看>>
跨平台开源通讯组件elastic communication
查看>>