前端工作中用到的openlayers相关的公共方法
2024-10-20 15:29:57
/**
* 获取地图上的图层对象
* @param map 地图对象
* @param layerName 实例化图层时的name
* @return {null}
*/
getLayerByLayerName: (map, layerName) => {
if (!map) {
throw new Error('未传入地图对象')
}
let targetLayer = null
const layers = map.getLayers().getArray()
Object.keys(layers).forEach(function (key) {
const _layerName = layers[key].values_.layerName
if (_layerName === layerName) {
targetLayer = layers[key]
}
})
return targetLayer
}
import Overlay from 'ol/Overlay'
import $ from 'jquery' const openLayerAction = {
/**
* 添加闪烁数据的方法
* @param {Array} twinkleList 需要添加css样式的点位数组
* @param {String} LGTDName 经度在数组中对应的名称
* @param {String} LTTDName 纬度度在数组中对应的名称
* @param {String} className 需要添加的css样式名称
* @param {String} index 数组中唯一索引的键名
*/
setTwinkleLayer(id, globalMap, twinkleList, className, index = 'id') {
for (let i = 0; i < twinkleList.length; i++) {
$('#' + id).after(
"<div id = '" + id +
twinkleList[i][index] +
"' class = '" +
className +
"' onclick='console.log(" +
twinkleList[i][index] +
")'>" + '</div>'
) const anchor = new Overlay({
element: document.getElementById(id + twinkleList[i][index]),
positioning: 'center-center'
})
// 关键的一点,需要设置附加到地图上的位置
anchor.setPosition([twinkleList[i].lgtd, twinkleList[i].lttd])
// 然后添加到map上
globalMap.addOverlay(anchor)
}
}, /**
* 删除闪烁数据的方法
* @param {String} className 需要删除的css样式名称
*/
removeTwinkleLayer(globalMap) {
globalMap.getOverlays().clear()
}
}
export default openLayerAction
最新文章
- iOS多线程
- iOS 学习 - 14.本地联系人
- iOS 在使用UINavigationController和TabBarController时view的frame
- MySQL数据库MyISAM和InnoDB存储引擎的比较
- PHP下的命令行执行
- java_web学习(2)Servlet
- VUE长按事件
- Porsche Piwis Tester II V12.100 Version Released
- 查看修改添加环境变量的工具——Rapid Environment Editor
- 20155312 2016-2017-2 《Java程序设计》第八周学习总结
- JavaScript:正则表达式 应用
- JavaScript在页面中的引用方法
- 前端(七):ES6一些新特性
- Gradle Goodness: Group Similar Tasks
- 初试mininet(可选PyCharm)
- Spark Shuffle之Hash Shuffle
- C经典之9-system,if,do,while---ShinePans
- JavaScript高级程序设计-读书笔记(3)
- [剑指Offer] 64.滑动窗口的最大值
- php分类树
热门文章
- vs技巧 - 调试asp.net core源码
- Model, HttpServletRequest, ModelMap区别
- Vuecli版本调整
- 得到一个a(10)到b(20)的随机数。包括10和20
- VMware虚拟机无法安装Win11解决方法 (暂时全网最全方案)
- Blazor Bootstrap 组件库 Toast 轻量弹窗组件介绍
- IDEA通过Jedis操作Linux上的Redis;Failed to connect to any host resolved for DNS name问题
- 01. 树莓派初始配置——ssh连接使用root用户登录
- Git&;Gitee
- 【生产事故调查】优化出来的bug-合并集合重复项