探索DeepEarth的内置控件

在DeepEarth内部提供了6个地图扩展控件(CoordControl、ScaleControl、NavControl、 MapControl、MouseControl、ZoomSliderControl)为我们提供了相对比较规范、完善的编程模型,通过他们可进一步的增强地图的操作灵活性等,还可通过扩展开发出许多功能强大的扩展程序。本篇主要以DeepEarth内置控件中的最常用的几个控件为主题探索 DeepEarth内置控件的使用方法。

在探索DeepEarth内置控件的使用方法之前先了解下内置控制的基本结构,DeepEarth定义了MapControl控件基类,CoordControl、ScaleControl、NavControl、MouseControl都是通过继承MapControl扩展而来,如下UML图所示:

MapConotrol继承了Silverlight的ContentControl类并实现了DeepEarth的ILayer接口,在整个DeepEarth的扩展开发中提供了基础的编程模型,通过其他源代码可以知道: 

MapControl源代码

1  public class MapControl : ContentControl, ILayer
2     {
3         /// <summary>
4         /// Protected backing field for the MapInstance property
5         /// </summary>
6         protected Map _Map;
7
8         #region ILayer Members
9
10         /// <summary>
11         /// Access to instance of the Map for this layer.
12         /// </summary>
13         public virtual Map MapInstance
14         {
15             get
16             {
17                 if (_Map == null)
18                 {
19                     _Map = Map.GetMapInstance(this);
20                 }
21
22                 return _Map;
23             }
24             set
25             {
26                 if (ReferenceEquals(_Map, value))
27                 {
28                     return;
29                 }
30
31                 _Map = value;
32             }
33         }
34
35         /// <summary>
36         /// A unique ID to idenitify the layer
37         /// </summary>
38         public string ID { get; set; }
39
40         /// <summary>
41         /// Indicates whether the Layer is visible to the user.
42         /// </summary>
43         public bool IsVisible { get; set; }
44
45         #endregion
46     }
47 }

时间: 2024-10-28 00:22:47

探索DeepEarth的内置控件的相关文章

《Programming WPF》翻译 第3章 3.内嵌控件

WPF提供了一系列内嵌控件.其中大多数符合标准的你已经熟悉的Windows控 件类型.注意到没有一个是包装在旧的Win32控件外面的控件.虽然它们看上去 就像是它们的副本,它们都是与生俱来的WPF控件.这意味着它们为WPF在本书中 描述的功能提供了完全的支持,包括样式.独立的分辨率.数据绑定.合成.以 及充分的集成支持WPF的图形化能力. 3.3.1按钮 按钮是用户可以点击的控件.点击的结果由应有程序的开发者胜任,但是共 同的期望依赖于按钮的类型.例如,点击一个用来表示选择的CheckBox或

c#+wpf实现WrapPanel布局容器内的控件多选

问题描述 c#+wpf实现WrapPanel布局容器内的控件多选 90C windows系统的用户界面有文件多选功能 我想在WrapPanel布局容器内的控件实现多选功能.(Ctrl+a全选,shift+鼠标单击连续按,Ctrl+鼠标单击不连续选择)WrapPanel布局容器内的控件,都对应一个集合中的元素,不过我主要是实现多选效果以及多选后,被选中的控件背景会变色,然后单击WrapPanel之外的某个控件或右键菜单单击,然后通过MessageBox.Show方法输出被选中的控件对应的集合元素.

获取table中的repeater内某个控件

问题描述 获取table中的repeater内某个控件 很长时间没做bs的项目了 有这么一个问题 在页面中有个table,table中的某一个tr的td内加了一个repeater控件 如以下代码(部分) <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <tr> <td bgcolor="#FFFFFF" style="dis

asp.net 后台访问listview内子控件

问题描述 asp.net 后台访问listview内子控件 设置一个button按钮,点击时读取listview里一个label控件的文本,使用了findcontrol方法且出错,显示未引用实例,请问该怎么办? 解决方案 listview里面的,先得到rows,再得到cell

Android HorizontalScrollView内子控件横向拖拽实例代码_Android

前言         网上ListView上下拖动的例子有,效果也很好,但是项目要横着拖的,只要硬着头皮自己写(主要是没找到合适的),参考文章1修改而来,分享一下. 正文 截图 实现代码: public class HoDragActivity extends Activity { private LinearLayout main; private GestureDetector mGestureDetector; @Override public void onCreate(Bundle s

Android中实现HorizontalScrollView内子控件横向拖拽

前言 网上ListView上下拖动的例子有,效果也很好,但是项目要横着拖的,只要硬着头皮自己写(主要是没找到合适的),参考文章1修改而来,分享一下. 截图 代码 java public class HoDragActivity extends Activity { private LinearLayout main; private GestureDetector mGestureDetector; @Override public void onCreate(Bundle savedInsta

【Android】HorizontalScrollView内子控件横向拖拽

前言 网上ListView上下拖动的例子有,效果也很好,但是项目要横着拖的,只要硬着头皮自己写(主要是没找到合适的),参考文章1修改而来,分享一下. 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 截图       代码 java public class HoDragActivity extends Activity {     private LinearLayout m

DataGrid里面内嵌控件的问题!!!

问题描述 如题,补充的是在DataGrid的ItemTemplate里面有Table,然后LinkButton控件放在td里面,请问我怎么在程序找到这个LinkButton控件 解决方案 解决方案二:if(...||...)linkbuttonlk=e.item.findcontrol()...解决方案三:在ItemDataBound事件里面就可以找到protectedvoiddlCon_ItemDataBound(objectsender,DataListItemEventArgse){if(

一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《内置图表控件》篇

本系列文章导航 VS 2010 和 .NET 4.0 系列之<ASP.NET 4 中的SEO改进 >篇 VS 2010 和 .NET 4.0 系列之<干净的Web.Config文件 >篇 VS 2010 和 .NET 4.0 系列之<起始项目模板>篇 VS 2010 和 .NET 4.0 系列之<多定向支持>篇 VS 2010 和 .NET 4.0 系列之<多显示器支持>篇 VS 2010 和 .NET 4.0 系列之<代码优化的Web开发