在百度了大量的资料之后,仍然一无所获。之前是打算实现如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值。图层编辑之后,重新加载图层,
刷新
不成功的
问题
。...