0.0.2 • Published 2 years ago

ol-utils-xy v0.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

OpenLayers Utils Xinyu

基于ol v6.15.1封装。

一、 地图初始化

1.1 构建工具类对象

import { OlUtilsXinyu } from "../dist/ol-utils-xy.esm.min.js";
const olXinyu = OlUtilsXinyu.build({ elementId: "map" });
参数名说明类型默认值
elementId必填,地图容器DOM元素idstring
center选填,地图中心点Array温州
zoom选填,初始化缩放层级number12
minZoom选填,最小缩放层级number0
maxZoom选填,最大缩放层级number20
coordinateSystem选填,坐标系,支持"EPSG:4490""EPSG:4549""wenzhou2000"string"EPSG:4490"

1.2 OlXinyu对象属性

属性名说明类型备注
mapol地图对象Map
projection坐标系Projection
baseMapIds底图图层组id数组Array可与图层初始化参数isBaseMap结合使用
layerProxies图层对象数组Array可通过values属性的layer属性访问图层对象
drawProxy绘图工具DrawProxy需要调用initDraw()初始化后才能访问

1.3 OlXinyu对象方法

方法说明返回值类型备注
flyTo(center: number, number, zoom?: number)定位地图中心点void
switchBaseMap(id?: string)切换底图,指定id时使用id对应的图层,未指定时使用下一组图层void
getProxyById(id: string)根据id获取图层代理对象Array可与图层初始化参数isBaseMap结合使用
layerProxies图层对象数组LayerProxy
setLayerVisible(id: string, visible: boolean)设置某一组图层的可见性void
getLayerVisible(id: string)获取某一组图层的可见性boolean
setLayerOpacity(id: string, opacity: number)设置某一组图层的透明度void
getLayerOpacity(id: string)获取某一组图层的透明度number
adjustOpacity(id: string, delta: number)调整某一组图层的透明度并返回调整后的透明度number
initDraw(options?: DrawProxyOptions)初始化绘图对象drawProxyvoid
loadLayers(optionsArray: Array)根据配置加载图层void

二、 图层

2.1 默认图层

使用4490坐标系时,默认加载浙江天地图矢量图层和影像图层,默认显示矢量图。 使用4549坐标系时会默认加载XX内网底图,默认显示矢量图。 使用温州2000坐标系时无默认底图,请自行添加,相关图层记得设置isBaseMap参数为true

2.2 切换图层

可以使用olXinyu的switchBaseMap()方法对底图进行切换;也可以使用设置图层可见性的方法实现。

2.3 图层参数

2.3.1 图层组参数ProxyOptions

参数名说明类型默认值
id必填,图层组idstring
name必填,图层组名称string
type必填,组内图层类型string
layers必填,图层参数对象数组Array
visible选填,初始化时的可见性booleanfalse
opacity选填,初始化时的透明度number1
isBaseMap选填,是否为底图booleanfalse

2.3.2 图层类型

'ArcGISWMTS''TileArcGISRest''TileXYZ''TileImage''SuperMapWMTS''SuperMapWMS'

2.3.3 图层参数LayerOptions

参数名说明类型默认值
id必填,图层idstring
name必填,图层名称string
url必填,图层对应的服务地址string
zIndex选填,图层显示优先级number0
crossOrigin选填,参考ol官网boolean
layer选填,参考ol官网string
matrixSet选填,参考ol官网string
ratio选填,'SuperMapWMS'类型的图层使用,参考ol官网number1
params选填,'SuperMapWMS'类型的图层使用,参考ol官网Object
format选填,参考ol官网string"tiles"
version选填,参考ol官网string"1.0.0"
style选填,参考ol官网string"default"

三、WFS查询

3.1 获取WFS查询工具对象

import { OlUtilsXinyu } from "../dist/ol-utils-xy.esm.min.js";
const wfsQuerier = OlUtilsXinyu.wfsQuerier;

3.2 WFS查询对象方法

方法说明返回值类型备注
getAll(url: string)不设置条件进行查询Promise查询成功时返回结果对象
filterQuery(url: string, filter: Filter)根据属性条件进行查询Promise查询成功时返回结果对象
spatialQuery(url: string, feature: Feature)根据空间条件进行查询Promise查询成功时返回结果对象
spatialAndFilterQuery(url: string, feature: Feature, filter: Filter)同时根据空间、属性条件进行查询Promise查询成功时返回结果对象

3.3 获取WKT与geojson对象转换工具对象

import { OlUtilsXinyu } from "../dist/ol-utils-xy.esm.min.js";
const wktTranslator = OlUtilsXinyu.wktTranslator;

方法分别为wktToFeature(wkt: string)featureToWkt(feature: Feature)

四、图形绘制

4.1 初始化图形绘制工具对象

import { OlUtilsXinyu } from "../dist/ol-utils-xy.esm.min.js";
const olXinyu = OlUtilsXinyu.build({ elementId: "map" });
olXinyu.initDraw();
const drawProxy = olXinyu.drawProxy;

4.2 工具初始化参数DrawProxyOptions

参数名说明类型默认值
drawFillColor选填,绘制过程填充色string"rgba(255, 255, 255, 0)"
drawStrokeColor选填,绘制过程描边颜色string"#409eff"
drawStrokeWidth选填,绘制过程描边宽度number2
layerFillColor选填,绘制结果填充色string"rgba(255, 255, 255, 0.2)"
layerStrokeColor选填,绘制结果描边颜色string"#ffcc33"
layerStrokeWidth选填,绘制结果描边宽度number2

4.3 对象方法

方法说明返回值类型备注
start(type: string)开始绘制指定类型的图形voidtype可为PointLineStringPolygon
undo()移除绘制中的最后一个点void
end()结束绘制Promise双击可完成当前图形的绘制,该方法用于结束绘制
clear()清除所有绘制内容void
getAllFeatures(isWkt?: boolean)获取所有绘制的图形Array<stringFeature>
onDrawEnd(callback: Function)设置单个图形绘制结束时的回调void回调包含两个参数,第一个为Feature,第二个为WKT
0.0.2

2 years ago

0.0.1

2 years ago