在百度了大量的资料之后,仍然一无所获。之前是打算实现如css的hover的效果。然后,发现在修改了Feature的style之后,需要改变地图层级样式才能够重绘。

一开始的想法是:既然地图不重绘,那么我就让它重绘就好了

因此,采用了map.render()方法,但是发现样式依然没有出现。

最后还是在官网的API中找到了刷新的方法:

Feature.changed() ——Feature为当前获取到的feature  即想要发生改变的feature。

花费了大量时间解决和排查,因此记录

第229个本示例的目的是介绍如何在vue+openlayer 解决setText()不能立即 更新 文字的 问题 。出现这个示例是因为协助一位订阅用户解决上述 问题 。点击更换文字,console 显示了 更新 的文字,但是在地图上没有显示出来。究其原因是setText()要 更新 feature 的内容,原来的 feature 没有立即 更新 ,所以要强制其 更新 。方法见源代码。如果底图不能正常显示,请更换底图。 当重新设置 feature 的样式后,需要 刷新 才能应用新的样式 方法如下: _this. Feature .layer.draw Feature (_this. Feature ); 添加右键菜单,首先我们要监听鼠标右键点击的操作,我们知道鼠标右键事件名是 contextmenu,当鼠标在 html 元素之上,点击鼠标右键,便会触发 contextmenu 事件,在 contextmenu 事件的回调函数 实现相应的显示菜单功能即可。       那么在 openlayers ,在地图 添加这个事件,我们从哪里下手呢?首先我们得了解 openlayers 的初始化页面的过程。 openlayers 初始化页面过程 openlayers 也是一个前端库,那么它肯定离不开 html 的运用,比如,我们首先需要在页面放置一个显示地图的 html 元素,一个 div 内容概要:通过带着读者手写 openlayers 6 绘制扇形及环形,了解 地图容器核心原理。在手写 openlayers 6 绘制扇形及环形源码的过程 会摘取 openlayers 的核心逻辑,简化代码实现过程,保留核心功能,例如:vue3接入 openlayers openlayers 绘制环形 openlayers 绘制扇形 适合人群:具备一定编程基础,工作1-3年的web前端或webGIS研发人员 能学到什么:①vue3+vite;②地图容器相关知识。 阅读建议:此资源以开发绘制扇形及环形学习其原理地图容器,不仅是代码编写实现也更注重内容上的需求分析和方案设计,所以在学习的过程要结合这些内容一起来实践,并调试对应的代码。 第196个本示例的目的是介绍演示如何在vue+ openlayers 加载解析json文件,给 feature 进行 style 修饰。当鼠标滑动到某个 feature 上,更改 style 样式,形成高亮的效果。 经常会遇到需要编辑某一图层的颜色或形状的需求. 例如: 修改 一个面的填充色 vectorLayer.get Style ().getFill().setColor('#ff0000'); 发现 修改 后图形并没有改变颜色, 是因为图层没有 刷新 需要更改后 刷新 图层 vectorLayer.changed(); 图层remove在add之后,并未发生新的网络请求。已知地图缩放级别并未发生改变,窗口也没有,所以此时的gis数据请求的参数是已经被缓存起来了,所以直接从缓存 取出数据。ps:试了 刷新 source、改变zoom效果都不是很,layer.getSource().refresh();map.getVIew().setZoom(12)addLayer时随机添加额外的无效参数,例如设置一个属性layerid值。图层编辑之后,重新加载图层, 刷新 不成功的 问题 。...