gis平移至所选要素_WebGIS学习(十一)WebGIS中要素(Feature)的设计

本文介绍了在WebGIS中要素(Feature)的设计,包括要素的功能需求,如绘制Shape、存储属性、响应事件等。讨论了要素的重绘、基类设计、如何控制要素样式以及地图平移时的要素重绘问题。文章通过UML设计展示了要素类的结构,并提出了设计模式的改进思路。
摘要由CSDN通过智能技术生成

1.前言

在GIS中元素一般分为点元素,线元素,面元素以及symbol元素(特殊的点元素)等。与此对应,图层可以分为点图层,线图层,面图层以及标注图层等。从第9章到第10章,我给大家讲解了什么是矢量数据、矢量数据的来源、矢量数据的构造、以及矢量数据中的地理坐标与屏幕坐标之间的转换。在了解了这些概念和算法以及流程后,这一章我们将开始讲解设计出一个矢量图层前的最后一步,设计WebGIS中的要素(Feature)。

2.要素设计的思路

2.1 需求

要素应该具有如下功能:

(1)能够绘制出矢量数据的Shape。

(2)能够存储矢量数据的atrributes。

(3)可以响应鼠标事件。

(4)可以响应自定义事件,如自定义的一系列地图事件。

(5)能够添加入Canvas组成一个矢量图层。

(6)要素是有很多种类的,比如点、线、面等。

2.2 基本分析

(1)在前面我们已经阐述了要素的本质,即UIComponent。因为UIComponent是前端语言中已经封装好了的类,我们只用继承其即可,如此我们便同时能实现上面所说的第三个需求以及第五个需求。

(2) 需求中要求要素中能够绘制出矢量数据的Shape。所以得定义类似于Draw这样的功能函数,以解决第一个需求。

(3)要素中还需要有个一变量存放attributes,即FeatureInfo以解决第二个需求。

(4)设计的类中还要定义一个监听事件的函数和一个移除监听事件的函数,即:addMapEventListener和removeMapEventListener,以解决第四个需求。

2.3 扩展分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值