Class: GeoFeature

GeoFeature

地理几何专题要素型专题图层基类。此类型专题图的专题要素形状就是由 feature.geometry 决定。不建议直接实例化调用此类。

new GeoFeature(name, opt_options)

Usage
// 浏览器
<script type="text/javascript" src="https://iclient.supermap.io/dist/openlayers/iclient-ol.js"></script>
<script>
  new ol.source.GeoFeature(name, opt_options);
  
</script>

// ES6 Import
import { GeoFeature } from '@supermapgis/iclient-ol';

new GeoFeature(name, opt_options);

openlayers/overlay/theme/GeoFeature.js, line 10
Name Type Description
name string

图层名称。

opt_options Object

参数。

Name Type Default Description
map ol.Map

当前 OpenLayers Map 对象。

id string 可选

专题图层 ID。默认使用 CommonUtil.createUniqueID("themeLayer_") 创建专题图层 ID。

opacity number 1 可选

图层不透明度。

logo string 可选

Logo(OpenLayers 5.0.0 及更高版本不再支持此参数)。

projection ol.proj.Projection 可选

投影信息。

ratio number 1.5 可选

视图比,1 表示画布是地图视口的大小,2 表示地图视口的宽度和高度的两倍,依此类推。必须是 1 或更高。

resolutions Array 可选

分辨率数组。

state ol.source.State 可选

资源状态。

style Object 可选

专题图样式。

styleGroups Object 可选

各专题类型样式组。

isHoverAble boolean false 可选

是否开启 hover 事件。

highlightStyle Object 可选

开启 hover 事件后,触发的样式风格。

attributions string | Object 'Map Data <span>© <a href='http://support.supermap.com.cn/product/iServer.aspx' target='_blank'>SuperMap iServer</a></span> with <span>© <a href='https://iclient.supermap.io' target='_blank'>SuperMap iClient</a></span>' 可选

版权描述信息。

Extends

Methods

addFeatures(features)

openlayers/overlay/theme/GeoFeature.js, line 69

添加要素。

Name Type Description
features Array.<ThemeFeature> | Array.<GeoJSONObject> | Array.<ol.Feature> | ThemeFeature | GeoJSONObject | ol.Feature

要素对象。

clear()

openlayers/overlay/theme/GeoFeature.js, line 222

清除的内容包括数据(features)、专题要素、缓存。

clearCache()

openlayers/overlay/theme/GeoFeature.js, line 213

清除缓存。

createThematicFeature(feature){Array.<FeatureVector>}

openlayers/overlay/theme/GeoFeature.js, line 182

创建专题要素。

Name Type Description
feature Object

要素对象。

Returns:
Type Description
Array.<FeatureVector> 返回矢量要素。

destroy()

openlayers/overlay/theme/GeoFeature.js, line 51

释放资源,将引用资源的属性置空。

inherited destroyFeatures(features)

openlayers/overlay/theme/Theme.js, line 152

销毁要素。

Name Type Description
features Array.<FeatureVector> | FeatureVector

将被销毁的要素。

inherited fire(type, event)

openlayers/overlay/theme/Theme.js, line 366

添加专题要素事件监听。

Name Type Description
type string

事件类型。

event string

事件名称。

getCacheCount(){number}

openlayers/overlay/theme/GeoFeature.js, line 233

获取当前缓存数量。

Returns:
Type Description
number 返回当前缓存数量。

inherited getFeatureBy(property, value){FeatureVector}

openlayers/overlay/theme/Theme.js, line 287

在专题图的要素数组 features 里面遍历每一个 feature,当 feature[property] === value 时, 返回此 feature(并且只返回第一个)。

Name Type Description
property string

要素的某个属性名称。

value string

property 所对应的值。

Returns:
Type Description
FeatureVector 第一个匹配属性和值的矢量要素。

inherited getFeatureById(featureId){FeatureVector}

openlayers/overlay/theme/Theme.js, line 307

通过给定一个 ID,返回对应的矢量要素。

Name Type Description
featureId string

矢量要素的属性 ID。

Returns:
Type Description
FeatureVector 对应 ID 的要素,如果不存在则返回 null。

inherited getFeatures(filter){Array.<FeatureVector>}

openlayers/overlay/theme/Theme.js, line 270

查看当前图层中的有效数据。

Name Type Description
filter function 可选

根据条件过滤要素的回调函数。

Returns:
Type Description
Array.<FeatureVector> 用户加入图层的有效数据。

inherited getFeaturesByAttribute(attrName, attrValue){Array.<FeatureVector>}

openlayers/overlay/theme/Theme.js, line 317

通过给定一个属性的 key 值和 value 值,返回所有匹配的要素数组。

Name Type Description
attrName string

属性的 key 值。

attrValue string

属性的 value 值。

Returns:
Type Description
Array.<FeatureVector> 一个匹配的要素数组。

inherited getLocalXY(coordinate){Array.<number>}

openlayers/overlay/theme/Theme.js, line 471

地理坐标转为像素坐标。

Name Type Description
coordinate Object

坐标位置。

Returns:
Type Description
Array.<number> 长度为 2 的像素坐标数组,第一个元素表示 x 坐标,第二个元素表示 y 坐标。

getShapesByFeatureID(featureID){Array}

openlayers/overlay/theme/GeoFeature.js, line 254

通过要素 ID 获取要素关联的所有图形。如果不传入此参数,函数将返回所有图形。

Name Type Description
featureID number

要素 ID。

Returns:
Type Description
Array 返回图形数组。

inherited on(event, callback)

openlayers/overlay/theme/Theme.js, line 53

添加专题要素事件监听。支持的事件包括: click、mousedown、mousemove、mouseout、mouseover、mouseup。

Name Type Description
event string

事件名称。

callback RequestCallback

事件回调函数。

redrawThematicFeatures(extent)

openlayers/overlay/theme/GeoFeature.js, line 106

重绘所有专题要素。

Name Type Description
extent Object

视图范围数据。

removeAllFeatures()

openlayers/overlay/theme/GeoFeature.js, line 97

清除当前图层所有的矢量要素。

removeFeatures(features)

openlayers/overlay/theme/GeoFeature.js, line 87

从专题图中删除要素。这个函数删除所有传递进来的矢量要素。

Name Type Description
features Array.<FeatureVector> | FeatureVector | function

待删除的要素对象或用于过滤的回调函数。

inherited rotate(pixelP, rotation, center){Array.<number>}

openlayers/overlay/theme/Theme.js, line 500

获取某像素坐标点 pixelP 绕中心 center 逆时针旋转 rotation 弧度后的像素点坐标。

Name Type Description
pixelP number

像素坐标点位置。

rotation number

旋转角度。

center number

中心位置。

Returns:
Type Description
Array.<number> 旋转后的像素坐标数组。

inherited scale(pixelP, center, scaleRatio){Array.<number>}

openlayers/overlay/theme/Theme.js, line 514

获取某像素坐标点 pixelP 相对于中心 center 进行缩放 scaleRatio 倍后的像素点坐标。

Name Type Description
pixelP Object

像素点。

center Object

中心点。

scaleRatio number

缩放倍数。

Returns:
Type Description
Array.<number> 返回数组型比例。

setMaxCacheCount(cacheCount)

openlayers/overlay/theme/GeoFeature.js, line 242

设置最大缓存条数。

Name Type Description
cacheCount number

缓存总数。

inherited setOpacity(opacity)

openlayers/overlay/theme/Theme.js, line 173

设置图层的不透明度,取值范围:[0-1]。

Name Type Description
opacity number

不透明度。

inherited deprecated toFeature(features){Array.<FeatureVector>}

openlayers/overlay/theme/Theme.js, line 570

转为 iClient 要素,该方法将被弃用,由 Theme#toiClientFeature 代替。

Name Type Description
features Array.<ThemeFeature> | Array.<GeoJSONObject> | Array.<ol.Feature> | ThemeFeature | GeoJSONObject | ol.Feature

待转要素。

Returns:
Type Description
Array.<FeatureVector> 转换后的 iClient 要素。

inherited toiClientFeature(features){Array.<FeatureVector>}

openlayers/overlay/theme/Theme.js, line 528

转为 iClient 要素。

Name Type Description
features Array.<ThemeFeature> | Array.<GeoJSONObject> | Array.<ol.Feature> | ThemeFeature | GeoJSONObject | ol.Feature

待转要素。

Returns:
Type Description
Array.<FeatureVector> 转换后的 iClient 要素。

inherited un(event, callback)

openlayers/overlay/theme/Theme.js, line 433

移除专题要素事件监听。

Name Type Description
event string

事件名称。

callback RequestCallback

事件回调函数。