openlayers图层创建
时间:2023-01-30
本文章向大家介绍openlayers图层创建,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
创建图层
addVectorLayers(features,type) {
//参数 features==接口获取的点位
let that=this;
//实例化一个矢量图层Vector作为绘制层
//vectorSource 普通数据源
this.vectorSource = new ol.source.Vector({
features: features
});
//聚合 clusterSource 聚合数据源
this.clusterSource = new ol.source.Cluster({
distance:30,
source:this.vectorSource,
})
//创建一个图层 vectorLayer 先声明图层实例
this.vectorLayer = new ol.layer.Vector({
source: this.clusterSource,
style: function (feature) {
let size = feature.get('features').length;//获取该要素所在聚合群的要素数量
// var style = styleCache[size];
let style = null;
if (size > 1) {
//点位聚合时 聚合的样式
style = [
new ol.style.Style({
image: new ol.style.Circle({
radius: 10,
stroke: new ol.style.Stroke({
color: '#fff'
}),
fill: new ol.style.Fill({
color: '#ff000088'
})
}),
text: new ol.style.Text({
text: size.toString(),
fill: new ol.style.Fill({
color: '#fff'
})
})
})
];
//点位没聚合时 点位的样式
} else {
//在调用创建图层函数时传一个点位类型参数 不同类型点位使用不同的图片
if(type == 'shexiangtou'){
style = [
//图片样式与文字样式
new ol.style.Style({
image: new ol.style.Icon({
src: require('../../assets/public/map/images/shexiangji.png'),
crossOrigin: '',
// size: [100, 100],
scale: 1
}),
text: new ol.style.Text({
// text: feature.values_.features[0].values_.name,
fill: new ol.style.Fill({
color: '#f00'
})
})
})
];
} else {
style = [
new ol.style.Style({
image: new ol.style.Icon({
src: require('../../assets/public/map/images/position_3.png'),
crossOrigin: '',
// size: [100, 100],
scale: 1
}),
text: new ol.style.Text({
// text: feature.values_.features[0].values_.name,
fill: new ol.style.Fill({
color: '#f00'
})
})
})
];
}
}
return style;
}
});
this.vectorLayer.set("customPro", "test")
this.vectorLayer.setZIndex(1999)
//将绘制层添加到地图容器中
this.mapUtilobj.map.addLayer(this.vectorLayer);
},
原文地址:https://www.cnblogs.com/kaoo-kiee/p/17077080.html
- 教你 Debug 的正确姿势——记一次 CoreMotion 的 Crash
- Linux系统yum命令安装软件时保留(下载)rpm包
- Go语言读写数据库
- 《Android 创建线程源码与OOM分析》
- 微信 Android 视频编码爬过的那些坑
- 少年,这有套《街霸2》AI速成心法,想传授于你……
- 你知道android的MessageQueue.IdleHandler吗?
- 《Android基础:Fragment,看这篇就够了》
- Android 7.0中ContentProvider实现原理
- 《iOS APP 性能检测》
- iOS 11 安全区域适配总结
- Linux下巧用chattr、watch命令的实例
- 【特斯拉组件】iOS高性能PageController
- SUSE Linux系统在线安装软件命令zypper参数详解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【翻译】withoutboats 的 io-uring 笔记
- [Python]随机生成大量的虚拟信息测试数据(姓名,手机号,ID,家庭住址等)
- Java核心技术之动态代理
- 开源verilog仿真工具iverilog+GTKWave初体验
- [算法] 数组排序 - 冒泡排序法与直接选择排序法
- TS 设计模式01 - 工厂模式
- Spring与Mybatis的整合
- Python中的计数 - Counter类
- vue 记账本
- c/c++补完计划(三): 素数统计
- Python正则表达式(上)
- 附001.Nginx location语法规则
- 016.Nginx HTTPS
- 架构师写的BUG,非比寻常
- Python爬虫获取豆瓣TOP250电影详情