`
insertyou
  • 浏览: 873288 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

DeepEarth中的拖放行为(DragBehavior)

 
阅读更多

  在DeepEarth中,地图的拖放行为用于规范用户在操作地图的时候的选择、移动和绘制等操作模型。DeepEarth以枚举结构将其封装在地图控件(Map)的内部,源代码如下:

代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->///<summary>
///地图拖放行为
///</summary>

publicenumDragBehavior
{
///<summary>

///鼠标成手型图标点在地图上拖放,地图的呈现随同鼠标的拖动进行移动并定位于鼠标释放的位置。
///</summary>

Pan,

///<summary>

///在地图上通过选择绘制出一个选框图形,当鼠标释放选择的时候将地图放大级别显示。
///</summary>

Select,

///<summary>

///在地图上绘制图形。
///</summary>

Draw
}

  在DeepEarth中的拖放行为默认被定义为鼠标拖放行为,当用户在所呈现的地图上操作地图的时候,鼠标成手型图标点在地图上拖放地图,当鼠标释放拖动并将地图定位于鼠标释放拖动的地图位置。默认的拖放行为在源代码中被定义为如下:

<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->//地图拖放行为
privateDragBehavior_DragMode=DragBehavior.Pan;

  上面对地图的拖放行为进行了简单的描述,下面我们来看看如何在开发中使用地图的拖放行为,我们可以在界面上放置一个Button来做个实验,通过点击按钮实现切换地图拖放行为的功能:

代码
<!--<br/ /><br/ />Code highlighting produced by Actipro CodeHighlighter (freeware)<br/ />http://www.CodeHighlighter.com/<br/ /><br/ />-->///<summary>
///改变地图的拖放行为
///</summary>

///<paramname="sender"></param>
///<paramname="e"></param>
privatevoidbtnDragBehavior_Click(objectsender,RoutedEventArgse)
{
//判断当前地图的拖放模式--实现两种模式之间切换

switch(mapInstance.DragMode)
{
case
Map.DragBehavior.Pan:
mapInstance.DragMode
=
Map.DragBehavior.Select;
ToolTipService.SetToolTip(btnDragBehavior,
"切换到选择放大模式"
);
btnDragBehavior.Content
="选择"
;
break
;
case
Map.DragBehavior.Select:
mapInstance.DragMode
=
Map.DragBehavior.Pan;
ToolTipService.SetToolTip(btnDragBehavior,
"切换到拖放平移模式"
);
btnDragBehavior.Content
="拖放"
;
break
;
}
}

  上面代码块思路非常清晰,通过当前地图的拖放行为进行判断,交替设置地图的拖放行为,编译程序后运行效果如下图所示:

        

  

  按扭放在地图中间不太好看,我们可以通过上一篇《探索DeepEarth的内置控件》中所介绍的方法将拖放模式的切换触发功能按扭移置到功能导航菜单上去,这样整体看上去的感觉就大不一样了。

        

  这里改变了下界面布局,将原来直接适用按钮显示文字的方式更改为适用图片的方式,通过不同的拖放行为来操作地图,此功能的切换实现非常方便、简单,但却非常适用。我们可以通过扩展地图的拖放行为实现很多功能,比如在地图上插标、选点、框选等复杂的操作,本文暂时不做介绍,在后续相关文章里在详细介绍如何实现这些功能。

分享到:
评论

相关推荐

    基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本116.0.5808.0)

    资源包括: 1.Java爬虫实战代码 2.selenium学习笔记 3.代码演示视频 4.谷歌浏览器chrom116.0.5808.0 chrome-linux64.zip chrome-mac-arm64.zip chrome-mac-x64.zip chrome-win32.zip chrome-win64.zip 5.谷歌浏览器驱动器Chromedriver116.0.5808.0 chromedriver-linux64.zip chromedriver-mac-arm64.zip chromedriver-mac-x64.zip chromedriver-win32.zip chromedriver-win64.zip 特别说明:Chrome 为测试版(不会自动更新) 仅适用于自动测试。若要进行常规浏览,请使用可自动更新的标准版 Chrome。)

    2024消费趋势报告.pdf

    2024消费趋势报告.pdf

    PCB的电磁兼容设计+电子设计领域

    1、EMC由EMI和EMS组成 2、EMS常见的整改措施 3、干扰=共模干扰+差模干扰 4、元器件的摆放 5、缝隙影响

    给排水施工图全套.xdw.pdf

    给排水施工图全套.xdw

    基于微信小程序的旅游出行必备(后端接口ssm框架实现)-毕设项目

    毕业设计基于微信小程序的旅游出行必备(后端接口ssm框架实现)-毕设项目.zip 个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 项目介绍: 旅游出行必备项目, 前端为微信小程序,后端接口为ssm框架实现,项目包含源码、数据库毕业设计基于微信小程序的旅游出行必备(后端接口ssm框架实现)-毕设项目.zip 个人经导师指导并认可通过的高分设计项目,评审分98分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 项目主要功能: 该项目是一个基于微信小程序的旅游出行应用,结合后端SSM(Spring MVC + Spring + MyBatis)框架提供服务。主要功能包括行程规划、景点信息查询、在线预订等,旨在为用户提供便捷的旅游出行体验。特点在于利用微信小程序的便捷性,实现即用即走,同时通过后端强大的数据处理能力保证服务稳定性。技术栈涵盖微信小程序开发、Java SSM框架、数据库管理等,适合学习和作为毕业设计参考。

    MC/00000000000000000000000000

    Want to play MC but do not want to buy can download to have a look。 It's very interested ------------------------------------------------------------------------------------------------- ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

    2024嵌入式面试资料SPI子系统

    2024嵌入式面试资料SPI子系统提取方式是百度网盘分享地址

    电子迎宾器和声光控照明开关multsim仿真和课设报告

    设计报告 ——题目名称:电子迎宾器 ——题目名称: 声光控照明开关

    基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本115.0.5789.0)

    资源包括: 1.Java爬虫实战代码 2.selenium学习笔记 3.代码演示视频 4.谷歌浏览器chrom115.0.5789.0 chrome-linux64.zip chrome-mac-arm64.zip chrome-mac-x64.zip chrome-win32.zip chrome-win64.zip 5.谷歌浏览器驱动器Chromedriver115.0.5789.0 chromedriver-linux64.zip chromedriver-mac-arm64.zip chromedriver-mac-x64.zip chromedriver-win32.zip chromedriver-win64.zip 特别说明:Chrome 为测试版(不会自动更新) 仅适用于自动测试。若要进行常规浏览,请使用可自动更新的标准版 Chrome。)

    基于Selenium的Java爬虫实战(内含谷歌浏览器Chrom和Chromedriver版本115.0.5785.0)

    资源包括: 1.Java爬虫实战代码 2.selenium学习笔记 3.代码演示视频 4.谷歌浏览器chrom115.0.5785.0 chrome-linux64.zip chrome-mac-arm64.zip chrome-mac-x64.zip chrome-win32.zip chrome-win64.zip 5.谷歌浏览器驱动器Chromedriver115.0.5785.0 chromedriver-linux64.zip chromedriver-mac-arm64.zip chromedriver-mac-x64.zip chromedriver-win32.zip chromedriver-win64.zip 特别说明:Chrome 为测试版(不会自动更新) 仅适用于自动测试。若要进行常规浏览,请使用可自动更新的标准版 Chrome。)

    navicat下载、安装、配置.zip

    【navicat】下载、安装、配置

    2024嵌入式大厂面经东华软件2015年应届实习生毕业生招聘职位-公司

    2024嵌入式大厂面经东华软件2015年应届实习生毕业生招聘职位-公司提取方式是百度网盘分享地址

    C++ 高性能爬虫代码,带UI

    C++ 高性能爬虫代码,带UI

    2024年铁基非晶合金行业分析报告.pptx

    行业报告

    2024嵌入式大厂面经朝歌宽带笔试题

    2024嵌入式大厂面经朝歌宽带笔试题提取方式是百度网盘分享地址

    AutoRuns 查看设置开机自动加载程序、病毒木马及恶意插件程序等

    Autoruns for Windows 是 Mark Russinovich 和 Bryce Cogswell 开发的一款软件,它能用于显示在 Windows启动或登录时自动运行的程序,并且允许用户有选择地禁用或删除它们,例如那些在“启动”文件夹和注册表相关键中的程序。此外,Autoruns还可以修改包括:Windows 资源管理器的 Shell 扩展(如右键弹出菜单)、IE浏览器插件(如工具栏扩展)、系统服务和设备驱动程序、计划任务等多种不同的自启动程序。 Autoruns作为Sysinternals Suite(故障诊断工具套装)的一部分,可运行于 Windows XP、Windows Server 2003 和更高版本的 Windows 操作系统。该软件还包括一个相同功能的命令行版本Autorunsc,可以把结果报表以 CSV 格式输出。

    2024年市场展望与薪酬报告发布-randstad.pdf

    2024年市场展望与薪酬报告发布-randstad.pdf

    AIGC 之 AI 绘画:技术与应用双突破,生产力变革在即

    AIGC 之 AI 绘画:技术与应用双突破,生产力变革在即

    智能车竞赛介绍.docx

    智能车竞赛介绍.docx

    Android开发基本知识总结,Android课件pdf

    1.什么是Android? 移动设备(常常指手机mobile)的操作系统,由google公司出品,是免费的,最早是基于Linux平台的:目前已经推出的Android3.0是平板电脑上的操作系统。 其它的手机操作系统有:iPhone系统等。 手机厂商三星(Samsung,宏达电(HTC),摩托罗拉(Motorola),华硕,索尼,Garmin等都支持iPhone系统。 Android系统功能自定义用户界面,支持蓝牙,多点触摸,具有导航功能和语音识别功能结合了google 地图。Android 软件开发工具SDK4.0 Android系统特点:虚拟键盘,以WebKit为核心的WebView组件,可以使用HTML,javascript 等。

Global site tag (gtag.js) - Google Analytics