首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

openlayers自定义图层控制实现

好久没写博文,今天出来冒个泡。 最近一直考虑一件事情,那就是openlayers中自定义wms图层控制。...用过openlayers的人都知道,openlayers中有自带图层控制控件,调用方法也很简单: map.addControl(new OpenLayers.Control.LayerSwitcher...({'ascending':true}));//图层控制 但是,不论是从操作方便程度还是美观性方面考虑,自带图层控制是无法满足需求,考虑一段时间,今天终于有时间实现,下面就说说实现思路...接着,说说实现环境。地图服务是geoserver,图层控制用jqueryzTree,下面详细说说实现步骤。 1、geoserver中发布wms图层,发布图层包括以下。...,如果有子节点被选中,图中将wms图层移除,再定义wms图层为选中子节点,并设置其可见为true,并将wms添加到地图中,这时选中涂层就会在地图中显示;如果没有节点被选中,图中将wms图层移除

5.2K30

EchartOpenlayers应用-热力图

概述 在前文中,有一篇文章讲述Openlayers2结合Echart实现地图统计,还以一篇文章讲述了结合heatmap.js实现Openlayers中热力图展示。...本文,书接前文,讲述Openlayers如何结合Echart实现热力图。 效果 ? 全效果 ?...放大效果 实现 1、关键点 echart实现heatmap关键点在与屏幕坐标,所以,图中,应通过地理坐标到屏幕坐标的转换函数,将地理坐标转换为屏幕坐标。...2、实现代码 将热力图扩展成为了一个openlayerslayer扩展,实现代码如下: OpenLayers.Layer.EchartHeatmap = OpenLayers.Class(OpenLayers.Layer...(this, arguments); }, CLASS_NAME : "OpenLayers.Layer.EchartHeatmap" } ); 前台调用代码如下

2.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

Excel图表学习69:条件圆环

圆环必须有8个切片,每个切片颜色必须与工作表中值对应,如下图1所示。 ? 1 每个切片颜色显示图表左侧工作表单元格区域内。...然后,插入一个圆环,如下图3所示。可以看到,“切片”列和“颜色”列用于类别和标签,而“一”列用于圆环切片值。图例中显示类别标签,圆环切片大小相同,均为圆环周长1/24。 ?...我们需要另一个公式来让我们只显示可见切片编号。...此时,无关标签消失,我们只能看到切片编号。如下图11所示。 ? 11 这就是我们创建条件圆环。...12 当在工作表中更改每个切片颜色时,图表也相应反映该变化,如下图13所示。 ? 13 再次修改工作表中颜色,图表也相应更新,如下图14、15所示 ? 14 ?

7.7K30

基于 HTML5 OpenLayers3 实现 GIS 电信资源管理系统

声明类时候传一个 options 参数,通过定义类时候设置控件容器元素并且将控件渲染到 GIS 地图 viewport 之外: var view = graphView.getView(..._graphView = new ht.graph.GraphView();// 拓扑组件 控件中还给 graphView 拓扑组件添加了一些事件监听,由于 OpenLayers 和 HT 是两款不同...这里子类 GraphViewControl 中重载父类 ol.control.Control setMap 方法,在此方法中将 HT 拓扑组件 graphView 添加到 OpenLayers...OpenLayers Map 部分做好了,接下来就是将它放进场景中了~但是从上面的截图中能看到,除了地图,顶部有工具条(但是是用 formPane 表单组件做),左侧有一个可供拖拽 Palette...为了让想显示部分显示工具栏正中央,所以我第一项和最后一项都设置一个空,占 0.1 相对宽度,并且比例相同,所以中间部分才会显示正中央。

3.7K60

Excel图表学习:绘制多级圆环

本文以一个简单示例讲解如何绘制如下图1所示多级圆环1 上图1中,有两个起始角度,为此,使用了次坐标轴。...2 选择单元格区域A1:D9,单击功能区“插入”选项卡“图表”中圆环”,得到图表如下图3所示。 3 选择圆环系列,单击鼠标右键,选择“更改图表类型”命令。...5 我们看到,图表中只显示两个系列,我们需要进行一些设置和调整,使图表3个系列显示完整。...《Excel图表技巧11:使用箭头方向键选择图表元素》,我们介绍一种使用方向箭头选择图表元素方法,你可以使用此方法来选择系列3。 这里介绍另一种简单方法。...选择图表后,“图表工具——格式”选项卡“当前所选内容”组中,单击顶部组合框,从列表中选择“系列3”,如下图6所示。 6 这样,选中了图表中暂时“看不到”系列3,如下图7所示。

1.4K30

原 HTML5 网络拓扑整合 OpenL

在前面《百度地图、ECharts整合HT for Web网络拓扑应用》我们有介绍百度地图和 HT for Web 整合,我们今天来谈谈 OpenLayers 和 HT for Web 整合。...HT和OpenLayers组件叠加在一起之后,剩下就是拓扑里面图元摆放位置与经纬度结合问题,常规网络拓扑图中存储ht.Node图元position是逻辑位置,和经纬度没有任何关系,因此GIS应用中我们需要根据图元经纬度信息换算出...以上交互设计似乎很完美了,结果运行时发现几处折腾很久才找到解决方案坑: 设置map.events.fallThrough = true;否则map不会将事件透传到HTGraphView组件 graphView.getView...设置ht.Default.baseZIndex: 1000 否则ToolTip会被遮挡 为了让这个例子用户体验更友好,还用心折腾些技术点供参考: 采用开源免费http://llllll.li/randomColor.../随机颜色类库,该类库还有很多非常棒颜色获取函数,只是简单为每个省份显示不一样颜色 重载isVisible、isNoteVisible和isLabelVisible仅在缩放达到一定级别才显示更详细内容

1.8K60

可视化流式地理空间数据

http://www.weatherbug.com/ 技术选择 有许多商业产品能够近乎实时显示地理空间数据。...性能 一次地图上显示数十万个点在技术上具有挑战性,并且可能不是很有用。人们发现很难以原始格式解释这些数据。 为了解决这些问题,通常使用热或点集合来聚合点。...通过一些试验和错误,发现这些层性能可以根据它们实现而有很大不同。过滤器也很有用,信用卡交易情况下,只显示高风险交易。...使用three.js2D WebGL热 Leaflet.heat插件:这可以不到1秒时间内下载并渲染超过10K点数。...虽然Google Maps API与此功能集成度最高,但可以将其构建到几乎所有基于浏览器图中,如此PoC所示。 结论 地理空间可视化数据可以解锁可能会错过有价值见解。

3.9K21

GeoWebCache配置与使用

就相当于是openlayer和geoserver之间中介,首先,geowebcache会根据你配置信息,把相应地图图层切好图,存放在磁盘中,然后使用openlayer加载地图服务时候,把地图服务地址指向...geowebcache,geowebcache接收到这些请求后,会根据请求位置和比例尺切片目录中找到对应瓦片,然后返回给你,省去了动态生成地图过程,速度大幅度提高,而且由于请求图片资源是事先生成好...如果配置信息没错,你会发现,你所配置图层信息已经显示在这个页面上了,点击“Seed this layer”,然后你需要输入下面这些信息: ? 设置好,点submit就开始切。...配置完成以后,就是如何在地图中显示,下面是显示源代码: <html xmlns="http://www.w3.org/1999/xhtml...附件: geowebcache-1.5.3-war.zip 或者<em>我</em><em>的</em>百度网盘,地址:http://pan.baidu.com/s/1kTJt91l

3K40

基于高德地图开发 Web 应用

下面就来简单说一下几个 SDK 区别,同时也借鉴一些网上资源。 先说下很多人不熟悉 OpenLayers。...更好了解每个 API 真实效果。 除了要图文结合学习 SDK,还需要了解一些地图基本基础知识,不然你无法将你功能上点无法映射到地图中某个对象。...应该还有其他更好方法,比如使用添加一个图层,将 Marker 坐标拖动地图时,相对于浏览器视口位置不动,始终垂直居中。如果有大佬出来指教,将不耻下问。...lat=34.433988&lng=115.61957 展示省份图层 有时候我们不需要根据展示地图河流、街道、地点,只需要显示省份轮廓,这个时候我们就可以行政区,主要用到是这个类 AMap.DistrictLayer...显示一个城市地铁线 如果要显示一个城市地铁,官方也是提供不一样 API,与地图 SDK 是不一样

4.3K30

OpenLayers入门(一)

OpenLayers简介 OpenLayers(https://openlayers.org/)是一个用来帮助开发Web地图应用高性能、功能丰富JavaScript类库,可以满足几乎所有的地图开发需求...、TopoJSON、KML、GML和其他格式矢量数据 支持OGC制定WMS、WFS等GIS网络服务规范 支持移动设备上运行 可以通过css来为地图控件设置样式 面向对象开发方式,OpenLayers...中万物皆对象 和另一个流行地图库leaflet不同,openLayers完全是用面向对象方式开发,且几乎内置所有地图开发需要功能,而leaflet核心库只提供基本功能,其他功能都是通过第三方插件进行扩展...就可以,比如绘制不规则多边形为POLYGON,具体类型可以查看文档:https://openlayers.org/en/latest/apidoc/module-ol_geom_GeometryType.html...获取地图当前区域范围 为了性能考虑,如果是地图上显示要素的话最好是只显示当前显示区域内要素,要显示数据一般从后端进行请求,那么可以把当前区域范围发送给后端,后端只返回这个区域内数据就好了,那么就需要获取当前范围

4.7K40

仅用一个HTML标签,实现带动画抖音LOGO

其实就是 4 个部分 每个颜色划出来区域代表一个部分,所以最后是:1/4圆环 + 半圆 + 长条矩形 + 半径略大一些1/4圆环 制作思路 回到本文标题,有人要说标题党,这 logo 都划分成四个部分了...一定是你方法不对,超详细讲解了如何解读CSS语法(带实战) 什么是渐变函数呢?根据它们单词名字可以知道,支持 线性、径向(其实就是圆)、锥形 颜色渐变。...因此 100px / 0.87 拿到就是整体高度,再乘以 0.13 拿到就是宽高差值,因为要平均分到两边,所以还要除以 2 现在妥妥是个正方形,当前效果: 这里为了让等会音符只图中那块儿区域绘制...这里怕大家看不出来,把 transparent 改成 blue,放效果给大家看: red 50% 100% 原理同上一个,从半径为 50% 位置一直到半径为 100% 部分,显示红色 效果图为...画半圆 原理都相似,就放一个半圆生成以及位移过程吧: 代码如下,也不过多解释各种数值意义,因为全是微调: .douyin::before, .douyin::after { content

1.2K10

Vite + Vue3 + OpenLayers

theme: smartblue highlight: a11y-light 一、本文简介 本文案例使用 Vite 搭建项目, Vue 3 基础上使用 OpenLayers 。...OpenLayers简介 OpenLayers 可以轻松在任何网页中放置动态地图。它可以显示从任何来源加载地图图块、矢量数据和标记。OpenLayers 开发旨在进一步使用各种地理信息。...ol 其实非常使用内网环境,工作方向是政务系统开发,开发很多项目都是在内网运行(无法访问互联网),而 ol 作为一款免费地图渲染库,很适合项目。...Project name: ol-demo 选择要使用框架,这里选择 vue 即可(是不使用 ts)。...View:是地图视图,控制地图缩放等基础交互,以及地图投影坐标系、地图中心、分辨率、旋转角度等。 Tile: 翻译成中文就是 “瓦片”。这项是必须。Tile 用来承放所需底图。

2.5K20

移动端重构实战系列7——环形UI

圆形进度条 具体demo效果可见:sheral progress 这里主要分析下圆环实现,蓝色进度条圆环由左右两边构成,这里以右半边为例,html结构为.circle-right > .right-inner...(为了视觉效果,把蓝色放在里面,而非覆盖灰色上),如下图: ?...半圆环由两层结构构成,.cicle-right大小为50px100px,超过隐藏,而.right-inner实际大小为100px100px,因为父容器宽度为50px且超过隐藏所以只会显示右边一半,如果只是这样的话我们旋转...所以我们对.right-inner再做个裁剪处理clip: rect(0, 50px, 100px, 0);,这样导致整个.right-inner圆环只有左半边可见,然后加上我们父元素是右半边且多余隐藏...50%时候,左边半圆衔接时候会有一个卡顿不连贯,所以可以考虑增加再增加一个底部圆环,让其右边半圆环运动到一半时候开始运动,然后设置一个比较短完成时间,这样就可以衔接起来。

95220

canvas实现有递增动画环形进度条

count变量为什么要这么计算,也忘了是怎么鼓捣出来。 this.grade是100以内正整数,表示分值。被定义data中,默认是0分。 ?...效果就是上图中最长那张gif动画那样)。 所以我得借助swiper才能实现。swiper切换回调函数中,从0开始不停递增grade分数,并重新触发彩色圆环绘制,进而实现动画效果。...ps:也不知道这么做是不是很傻一种做法,当时做到这里时是遇到一个难题,不知道怎么swiperon回调中获取vue实例。于是就有这么曲线救国方法。...否则就走到else里初始化数据页面的状态、清除定时器暂停动画、并把彩色圆环清空 (3)vm.aniShow 上篇《纯css绘制柱状》里边说了,柱状动画要跟canvas动画一起说。...新想法: 这个效果是很久以前做,今天整理制作方法时候,想到自己代码一种优化方案: 其实没必要在定时器里重新调用彩色圆环绘制方法。

2.4K30

HT for Web整合OpenLayers实现GIS地图应用

HT和OpenLayers组件叠加在一起之后,剩下就是拓扑里面图元摆放位置与经纬度结合问题,常规网络拓扑图中存储ht.Node图元position是逻辑位置,和经纬度没有任何关系,因此GIS应用中我们需要根据图元经纬度信息换算出...细心同学会想到转换是双向,有可能用户需要拖动图元节点改变其经纬度信息,这时候我们就需要另外一个方向函数,即根据屏幕逻辑坐标转换成当前坐标对应经纬度,OpenLayers中我们通过map.getLonLatFromPixel...以上交互设计似乎很完美了,结果运行时发现几处折腾很久才找到解决方案坑: 设置map.events.fallThrough = true;否则map不会将事件透传到HTGraphView组件 graphView.getView...设置ht.Default.baseZIndex: 1000 否则ToolTip会被遮挡 为了让这个例子用户体验更友好,还用心折腾些技术点供参考: 采用开源免费http://llllll.li/randomColor.../随机颜色类库,该类库还有很多非常棒颜色获取函数,只是简单为每个省份显示不一样颜色 重载isVisible、isNoteVisible和isLabelVisible仅在缩放达到一定级别才显示更详细内容

1.8K80

【可视化】Excel制作INFOGRAPHIC

打开了数据展现和分析思路,一份数据不同、合理图表展示出来,代表和反映不同信息。...到此,我们第一部分条形基本制作完成了,但是比较蛋疼是下面的小圆圈怎么搞定,难道一个一个粘贴复制,画出来?当然不是,这部分是整个图形制作比较复杂地方,下面说说办法。...之后我们把这列数据插入到之前图表中,图形变化为如下形式: ? 可以看到图中红色部分为我们后来插入数据,右键点击红色部分,弹出来菜单中选择改变图表类型。 ?...之后我们关心是怎么来做这个圆圈,这个圆圈是另外一个做出来,点击插入,其他图表,选择圆环,我们同时做一列数据,将一列数据放到圆环,如下所示。 ? ?...此时将圆环改成橙色,样式和标准图中一样就OK,之后组合一起就完成了制作。 ?

1.5K40

HT for Web整合OpenLayers实现GIS地图应用

HT和OpenLayers组件叠加在一起之后,剩下就是拓扑里面图元摆放位置与经纬度结合问题,常规网络拓扑图中存储ht.Node图元position是逻辑位置,和经纬度没有任何关系,因此GIS应用中我们需要根据图元经纬度信息换算出...细心同学会想到转换是双向,有可能用户需要拖动图元节点改变其经纬度信息,这时候我们就需要另外一个方向函数,即根据屏幕逻辑坐标转换成当前坐标对应经纬度,OpenLayers中我们通过map.getLonLatFromPixel...以上交互设计似乎很完美了,结果运行时发现几处折腾很久才找到解决方案坑: 设置map.events.fallThrough = true;否则map不会将事件透传到HTGraphView组件 graphView.getView...设置ht.Default.baseZIndex: 1000 否则ToolTip会被遮挡 为了让这个例子用户体验更友好,还用心折腾些技术点供参考: 采用开源免费http://llllll.li/randomColor.../随机颜色类库,该类库还有很多非常棒颜色获取函数,只是简单为每个省份显示不一样颜色 重载isVisible、isNoteVisible和isLabelVisible仅在缩放达到一定级别才显示更详细内容

1.5K11

移动端重构实战系列7——环形UI

“ ——imweb 结一 圆形进度条 具体demo效果可见:sheral progress 这里主要分析下圆环实现,蓝色进度条圆环由左右两边构成,这里以右半边为例,html结构为.circle-right...> .right-inner(为了视觉效果,把蓝色放在里面,而非覆盖灰色上),如下图: ?...半圆环由两层结构构成,.cicle-right大小为50px100px,超过隐藏,而.right-inner实际大小为100px100px,因为父容器宽度为50px且超过隐藏所以只会显示右边一半,如果只是这样的话我们旋转...所以我们对.right-inner再做个裁剪处理clip: rect(0, 50px, 100px, 0);,这样导致整个.right-inner圆环只有左半边可见,然后加上我们父元素是右半边且多余隐藏...50%时候,左边半圆衔接时候会有一个卡顿不连贯,所以可以考虑增加再增加一个底部圆环,让其右边半圆环运动到一半时候开始运动,然后设置一个比较短完成时间,这样就可以衔接起来。

1.8K60
领券