openlayer 图形样式编辑
来源:互联网 发布:vb延时函数 编辑:程序博客网 时间:2024/05/21 08:52
1、一个完整的绘制图层应该包含(从里到外)
(1)ol.geom.Geometry:地理空间对象的几何实体
(2)ol.Feature:要素,包含地理空间对象的几何实体
(3)ol.source.Vector:绘制层数据源,包含地图要素(ol.source.Source的子类)
(4)ol.style.Style:样式类
(5)ol.layer.Vector:绘制层,包含绘制层数据源、样式
2、地理空间对象的几何实体(ol.geom.Geometry的孙类)
(1)ol.geom.Circle:圆
(2)ol.geom.LinearRing:线性环
(3)ol.geom.LineString:线
(4)ol.geom.MultiLineString:多线条
(5)ol.geom.MultiPoint:多点
(6)ol.geom.MultiPolygon:多面
(7)ol.geom.Point:点
(8)ol.geom.Polygon:多边形
3、要素参数
(1)geometry:几何图形
(2)name:名称
4、绘制层数据源参数
(1)features:地图要素
5、关于Openlayer的样式,通过ol.style.Style类进行设置,主要参数有
(1)fill:填充样式(ol.styleFill)
(2)image:图像样式(ol.style.image)
(3)stroke:边界线样式(ol.style.stroke)
(4)text:文本样式(ol.style.Text)
6、绘制层参数
(1)source:绘制层数据源
(2)style:样式
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <link href="libs/ol/ol.css"/> <script src="libs/ol/ol-debug.js"></script></head><body> <div id="map"></div></body><script> //卫星图层 var satlayer = new ol.layer.Tile({ source: new ol.source.XYZ({ title: "卫星图", url: 'http://t3.tianditu.com/DataServer?T=img_w&x={x}&y={y}&l={z}' }) }); //卫星图标注层 var satannolayer = new ol.layer.Tile({ title: "卫星图标注", source: new ol.source.XYZ({ url: 'http://t3.tianditu.com/DataServer?T=cia_w&x={x}&y={y}&l={z}' }) }); // 文本样式 var textStyle = new ol.style.Text({ textAlign:'Center', textBaseline:'Top', font:'Arial', text:'你要的不是我', fill: new ol.style.Fill({color: 'green'}), stroke: new ol.style.Stroke({ color: 'red', width:3 }), offsetX: 0, offsetY: 1, rotation: 0 }); //绘制点 //点要素 var pointFeature = new ol.Feature({ geometry: new ol.geom.Point([0, 0]), name: '点要素' }); //点要素样式 var pointStyle = new ol.style.Style({ image: new ol.style.Circle({ radius: 10, fill: new ol.style.Fill({color: 'blue'}), stroke: new ol.style.Stroke({ color: 'red', width: 4 }) }), text: textStyle }); //点要素绘制图层 var vectorPoints = new ol.layer.Vector({ source: new ol.source.Vector({ features:[pointFeature] }), style:pointStyle }); //绘制线 //线要素 var lineFeature = new ol.Feature({ geometry: new ol.geom.LineString([[1e7,1e6],[1e6,3e6]]), name: '线要素' }); //线要素样式 var lineStyle = new ol.style.Style({ stroke: new ol.style.Stroke({ color: 'red', width: 3 }), text: textStyle }); //先要素绘制图层 var vectorLines = new ol.layer.Vector({ source: new ol.source.Vector({ features: [lineFeature] }), style:lineStyle }); //绘制区要素 //区要素 var polygonFeature = new ol.Feature({ geometry: new ol.geom.Polygon( [[[1e6, -1e6],[1e6, 1e6], [3e6, 1e6], [3e6, -1e6],[1e6, -1e6]]] ), name: '区要素' }); //区要素样式 var polygonStyle = new ol.style.Style({ stroke: new ol.style.Stroke({ color: 'blue', width: 3 }), fill: new ol.style.Fill({ color: 'red' }), text: textStyle }); var vectorPolygons = new ol.layer.Vector({ source: new ol.source.Vector({ features: [polygonFeature] }), style:polygonStyle }); //实例化Map对象加载地图 var map = new ol.Map({ layers: [satlayer, satannolayer,vectorPoints, vectorLines, vectorPolygons], target: 'map', view:new ol.View({ center: [0, 0], zoom: 3, maxZoom: 18, minZoom: 1 }) });</script></html>
阅读全文
0 0
- openlayer 图形样式编辑
- openlayer 图形交互编辑
- openlayer 高亮显示样式
- Openlayer高阶样式使用
- bootstrap + openlayer popup窗口样式变形
- OpenLayer
- OpenLayer
- openlayer通过SLD改变图层Feature的样式
- openlayer实现仿各大地图的标注点触碰样式变换
- 图形编辑类设计方案
- 编辑图形源码
- 图形编辑软件
- VC++下图形编辑
- 03-07 创建和编辑AutoCAD实体(七) 向图形中添加文字(1)使用文字样式
- word超链接样式编辑
- HTML样式编辑
- tableView编辑样式设计
- 使用Openlayer利用GeoServer编辑要素到postGIS注意问题(WFS-T)
- OpenCV安装的注意事项
- 判断闰年中的运算符与方法
- Linux SHELL编程练习case1
- Docker:替代传统虚拟机的“鲸鱼”(Docker: A 'Whale' Replacing Traditional VM)
- 杭电ACM OJ 1035 Robot Motion 继续水
- openlayer 图形样式编辑
- 【Scikit-Learn 中文文档】Pipeline(管道)和 FeatureUnion(特征联合): 合并的评估器
- 一个取巧找重复值的算法问题
- Spring+MyBatis实现数据库读写分离方案
- HDU 3248
- 使用jQuery ocupload插件实现一键上传
- 排序算法总结
- JVM相关(包括了各个版本的特性)
- C++ string