Openlayers 概述

别峻
2023-12-01

Openlayers 概述

地图控件

导航控件、ZoomSlider、鼠标位置、比例尺、鹰眼、图层选择。
常用的到是鹰眼控件(使用场景:当地图进行缩放移动时,鹰眼控件可以清楚方便的知道地图所在位置)。

地图操作

 1. 基础操作** :单击缩小、单击放大、平移到某个位置、复位;
 2. 设置地图背景** ;
 3. 地图定位**:view.setCenter(ol.Coordinate|undefined);
 4. 显示级数** :view.setZoom(zoom);
 5. 视窗逻辑坐标**:通常有两种坐标系,即地理坐标系(geographic coordinate systems) 和 投影坐标系(projected coordinate systems)。
	地理坐标系一般是指由经度、纬度和高度组成的坐标系,能够标示地球上的任何一个位置。
	地理坐标系是三维的,我们要在地图或者屏幕上显示就需要转化为二维,这被称为投影(Map projection)。常用的投影有等矩矩形投影(Platte Carre)和墨卡托投影(Mercator);
	EPSG:4326 (WGS84)是目前最流行的地理坐标系统。Web墨卡托投影后的平面地图,但仍然使用WGS84的经度、纬度表示坐标。
	EPSG:3857 (Pseudo-Mercator)伪墨卡托投影,也被称为球体墨卡托,Web Mercator。Web墨卡托投影后的平面地图,坐标单位为米。
	6. 地图域当前信息** :当前分辨率view.getResolution()、当前地图范围viewextent.calculateExtent(map.getSize())、当前视口范围map.getSize();
	7. 导出**:导出成图片、PDF;
	8. 地图事件**:
		'singleclick':鼠标单击事件;
		'dblclick':鼠标双击事件;
		'click':鼠标点击事件;
		'pointerdrag':鼠标拖拽事件;
		'pointermove':鼠标移动事件;
		'postcompose':开始渲染事件;
		'postrender':渲染完成事件;
		'precompose':准备渲染,未开始渲染事件;
		'moveend':地图移动事件;
		'change:size':地图窗口发生变化就会触发,与我们常用的窗口resize接近;
		'change:view':地图view对象发生变化触发;
		'change:target':地图绑定的div发生更改时触发,如map.setTartget方法就会触发该事件;
		'propertychange':Map对象中任意的property值改变时触发;
		'change:layerGroup':地图图层增删时触发。
	9.图层探查**:两个图层;
	10.图层层级控制**:
		setMap(map):设置图层呈现在地图其他图层之上;
		setZIndex(zindex):(event)设置图层的显示级数,用于图层显示顺序,级数大的图层在上层显示,级数小的图层在底层显示。默认显示级数为0;
		zindex:(number)显示级数 ;
		getZIndex():获取图层的显示级数
	11.图层组控制**:
		setVisible(visible):设置图层可见性;
		setOpacity(opacity):设置图层透明度(取值范围0-1,0为完全透明,1为完全不透明)。

图形操作

 1. 坐标添加**:点ol.geom.Point()、线ol.geom.LineString()、圆ol.geom.Circle()、正方形ol.geom.Polygon.fromCircle()、矩形ol.geom.Polygon.fromExtent()、多边形ol.geom.Polygon();
 2. 绘制**:几何图形、绘制任意图形ol.interaction.Draw()。
 3. 图形样式编辑**:
		点要素样式:点大小radius、填充颜色color、边框颜色color、边框宽度width
		线要素样式:线颜色color、线宽width
		区要素样式:填充颜色color、边框颜色color、边框宽度width
		文字样式:位置align、基线baseline、旋转角度rotation、字体font、字体粗细weight、字体大小size、X偏移量offset x、Y偏移量offset y、字体颜色color、文字外框颜色O.Color、文字外框宽度O.Width

 4. 获取几何信息**:createRegularPolygon(opt_sides, opt_angle)该函数返回一个基于 Circle 绘制类型的 geometryFunction 函数(这种函数返回一个 geometry 对象),接受两个参数,分别是 边的数量(opt_sides)和 多边形的角度(opt_angle)
 5. 绘制箭头线**

地图标注

 1. 图片标注**:ol.style.Image()
 2. 文字标注**:ol.style.Text()
 3. 图文标注**:
 4. popup弹出框**:ol.Overlay()
 5. 聚合标注**:ol.source.Cluster()

要素动画

	要素平移和航线动画。
	setInterval(code,millisec[,"lang"]):按照指定的周期(以毫秒计)来调用函数或计算表达式。setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。
	详细参数介绍如下:
	code:必填项。要调用的函数或要执行的代码串。
	code:必填项。周期性执行或调用 code 之间的时间间隔,以毫秒计。

地图动画

	旋转、弹性、反弹、自旋、飞行、螺旋
	ol.animation.rotate(options)
	ol.animation.pan(options)
	ol.animation.bounce(options)

热力图

	ol.layer.Heatmap(opt_options)
	必选项:重量weight(0~1)、来源source
	可选项:热力图梯度颜色gradient、热点半径radius、模糊尺寸blur、热力图阴影大小shadow、要素边界extent、可见图层最小分辨率minResolution、可见图层最大分辨率maxResolution、透明度opacity(0~1)、可见性visible
 类似资料: