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

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

前言 通过结合 HTML5 和 OpenLayers 可以组合成非常棒的一个电信地图网络拓扑图的应用,形成的效果可以用来作为电信资源管理系统,美食定位分享软件,片区找房,绘制铁轨线路等等,各个领域都能够涉及的一款应用...OpenLayers 的结构比较复杂,而 HT 相对来说简单很多,所以我将 HT 叠加到 OpenLayers Map 的 viewport 中。...下一次绘制不可能连着上一次继续绘制,所以我们得结束调用这个类的时候将之前的绘制的点都清除: tearDown: function () {// CreateEdgeInteractor 对象结束调用的时候调用的函数..._graphView.addTopPainter(this);// 增加顶层Painter 使用Canvas的画笔对象自由绘制任意形状,顶层Painter绘制拓扑最上面 this....我们可以 graphView 上进行绘制节点的编辑、绘制连线、绘制直角连线以及绘制多边形。

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

OpenLayers3基础教程——OL3基本概念

概述: OpenLayers 3对OpenLayers网络地图库进行了根本的重新设计。版本2虽然被广泛使用,但从JavaScript开发的早期发展阶段开始,已日益现实出它的落后。...所有地图的属性可以构造时进行配置,或者通过使用setter方法,如setTarget()。 ?...放大zoom 选项是一种方便的方式来指定地图的分辨率,可用的缩放级别由maxZoom (默认值为28)、zoomFactor (默认值为2)、maxResolution (默认由投影256×256像素瓦片的有效成都来计算...ol.layer.Tile 用于显示瓦片资源,这些瓦片提供了预渲染,并且由特定分别率的缩放级别组织的瓦片图片网格组成。...ol.layer.Vector用于显示客户端渲染的矢量数据。

1.7K30

OpenLayers入门(一)

OpenLayers简介 OpenLayers(https://openlayers.org/)是一个用来帮助开发Web地图应用的高性能的、功能丰富的JavaScript类库,可以满足几乎所有的地图开发需求...可以通过css来为地图控件设置样式 面向对象开发方式,OpenLayers中万物皆对象 和另一个流行的地图库leaflet不同,openLayers完全是用面向对象的方式开发的,且几乎内置了所有地图开发需要的功能...使用上来说leaflet更容易上手,OpenLayers上手难度比较大,所以业务可预见较为简单的建议采用leaflet。...显示要素 地图上显示一些自定义元素可以说是最基本也是最常见的需求,如果要显示的元素结构或样式比较复杂,可以使用Overlay,它可以将DOM元素地图上进行显示,并将随地图一起移动。...map.addLayer(vector) let draw = new Draw({ source: source, type: 'Circle' }) map.addInteraction(draw) 很简单

4.7K40

OpenLayers入门(二)

,其实第一篇也是很基础很简单的,但是意外的是看的人是最多的,这让我意识到可能即使是贴一下代码对一些人也是有帮助的,这就是这一篇的主要目的,可能有一些地方会看不懂,但是不要问,问我也不知道,如果你恰好了解的话十分欢迎评论里分享...虽然是基于v3版本介绍的,很多api可能变了,但还是值得一看,除了OpenLayers本身的介绍,还会有一些地理基础知识的分享,这种相对全面的中文教程真的很稀有,且看且珍惜。...source, style, zIndex: 1 }) // 添加到地图实例 map.addLayer(areaLayer) } 多边形的绘制简单...添加阴影效果 OpenLayers的样式对象并不支持直接设置阴影效果,所以需要获取到canvas的绘图上下文来自行添加,原理是监听图层的prerender(一个图层渲染前触发)和postrender(...OpenLayers是不直接支持这种带边框的线段的,所以一种简单的方法是绘制两条线段叠加起来,上面的宽度比下面的低,就有边框效果了: import Polygon from 'ol/geom/Polygon

2.6K51

设计高性能树形菜单,支持数十万条数据加载。

软件中增加[自定义树形菜单]一直悬而未决,直到最近更新了增加树形菜单功能。...【更新】240523 属性扩展支持自定义树形菜单,大容量树形结构,制作层级网格 传统树形菜单使用dom处理,如果根结点数据有1万个,至少为产生1万个dom,这对应用来说是无法接受的。有人说分页处理?...下图是***Geobuilding***软件中绘制的几个polygon要素。发现了什么?这看起来像极了树形菜单! 我们知道Geojson数据有点/线/面。...而高德地图、maplibre-gl、mapbox-gl、openlayers等都可以自定义样式渲染geojson数据,比如线颜色、面填充色、文字标记等。...添加点击事件 javascript复制代码//面图层上监听点击事件 map.on('click', 'mian', function (e) { let prop = e.features[0

4800

D3、openlayers的一次尝试

近期尝试了一个webgl相关的内容,有些小激动,及时分享一下我的测试示例,效果如下: 此示例分从业务角度分为两部分,一个部分为d3展示的柱图,另一部分则为用openlayers展示的地图。...一、翻面效果的实现 此效果看似神奇,理解清楚原理后也还是很简单的。主要用到css3的backface-visibility属性,他表示元素正面运动到用户不可见的位置时,当前元素是否可见。...transform: rotateY(0deg); } 二、JS部分实现 JS代码的结构图: flip.js:为此组件 入口 flip.ol.js:openlayer的具体实现 flip.d3.js:d3绘制柱图的具体实现...flip.store.js:数据接口,用于返回从后台接口获取到的数据 city.js:城市名称数据字典 adapter/d3.js:用于将后台数据转换为d3可用的数据格式 adapter/ol.js:用于将后台数据转换为openlayers...、转换器、d3和ol进行实例化,然后提供render方法进行数据的获取和绘制,具体细节下载代码查看。

1.8K70

主流webgis框架介绍与对比

概述 想写本文,主要是源于前两天有个老师找到我说让我录一个大概半个小时的视频,跟大家分享一下各webgis框架之间的区别以及应用的过程中应该如何选择。...框架介绍 Openlayers 最新版本 v6.5.0 简介 OpenLayers makes it easy to put a dynamic map in any web page....OpenLayers has been developed to further the use of geographic information of all kinds..../openlayers.github.io@master/en/v6.5.0/build/ol.js"> OpenLayers example </head...JS API 提供了2D、3D地图模式,满足绝大多数开发者对地图展示、地图自定义、图层加载、点标记添加、矢量图形绘制的需求,同时也提供了 POI 搜索、路线规划、地理编码、行政区查询、定位等众多开放服务接口

2.3K20

原 HTML5 网络拓扑图整合 OpenL

HT和OpenLayers组件叠加在一起之后,剩下就是拓扑里面图元的摆放位置与经纬度结合的问题,常规网络拓扑图中存储ht.Node图元的position是逻辑位置,和经纬度没有任何关系,因此GIS应用中我们需要根据图元的经纬度信息换算出...细心的同学会想到转换是双向的,有可能用户需要拖动图元节点改变其经纬度信息,这时候我们就需要另外一个方向函数,即根据屏幕逻辑坐标转换成当前坐标对应的经纬度,OpenLayers中我们通过map.getLonLatFromPixel...(new OpenLayers.Pixel(x, y));可以搞定。...会被遮挡 为了让这个例子用户体验更友好,我还用心折腾了些技术点供参考: 采用开源免费的http://llllll.li/randomColor/随机颜色类库,该类库还有很多非常棒的颜色获取函数,我只是简单的为每个省份显示不一样的颜色...("map"); var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://vmap0.tiles.osgeo.org

1.8K60

原 高效访问海量地图数据--GeoServer手动发布本地Shapefile地图

上面功能是用ArcGIS切片好数据,Geoserver 中发布,并用google地图作为底图展示的效果。 一、ArcGIS是什么?...ArcGIS由ESRI公司开发,是一款创建和绘制各种不同形式地图的软件。 本文所采用的地图数据一般由测绘人员采集,经过gis数据处理人员绘制成图再打包给开发人员经过代码处理展示在网页端。...命名为liugh,代码区添加代码,然后点击页面中的Validate按钮,如果代码没有问题,页面的顶部会提示“No validation errors”,然后点击提交 也可以直接导入styles文件,...保存后弹出以下页面,点击发布 设置坐标系和边界 先不要点击下方的保存,点击发布选项卡 把刚才设置的style加进来 然后点击最下方的保存就发布成功了 4.查看发布的地图 在打开的页面中找到刚刚添加的图层,点击OpenLayers...敬请期待下一篇文章: 高效访问海量地图数据--用OpenLayers访问Geoserver发布的地图

2.6K60

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

HT和OpenLayers组件叠加在一起之后,剩下就是拓扑里面图元的摆放位置与经纬度结合的问题,常规网络拓扑图中存储ht.Node图元的position是逻辑位置,和经纬度没有任何关系,因此GIS应用中我们需要根据图元的经纬度信息换算出...细心的同学会想到转换是双向的,有可能用户需要拖动图元节点改变其经纬度信息,这时候我们就需要另外一个方向函数,即根据屏幕逻辑坐标转换成当前坐标对应的经纬度,OpenLayers中我们通过map.getLonLatFromPixel...(new OpenLayers.Pixel(x, y));可以搞定。...会被遮挡 为了让这个例子用户体验更友好,我还用心折腾了些技术点供参考: 采用开源免费的http://llllll.li/randomColor/随机颜色类库,该类库还有很多非常棒的颜色获取函数,我只是简单的为每个省份显示不一样的颜色...("map"); var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://vmap0.tiles.osgeo.org

1.8K80

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

HT和OpenLayers组件叠加在一起之后,剩下就是拓扑里面图元的摆放位置与经纬度结合的问题,常规网络拓扑图中存储ht.Node图元的position是逻辑位置,和经纬度没有任何关系,因此GIS应用中我们需要根据图元的经纬度信息换算出...细心的同学会想到转换是双向的,有可能用户需要拖动图元节点改变其经纬度信息,这时候我们就需要另外一个方向函数,即根据屏幕逻辑坐标转换成当前坐标对应的经纬度,OpenLayers中我们通过map.getLonLatFromPixel...(new OpenLayers.Pixel(x, y));可以搞定。...会被遮挡 为了让这个例子用户体验更友好,我还用心折腾了些技术点供参考: 采用开源免费的http://llllll.li/randomColor/随机颜色类库,该类库还有很多非常棒的颜色获取函数,我只是简单的为每个省份显示不一样的颜色...("map"); var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://vmap0.tiles.osgeo.org/

1.5K11

高效访问海量地图数据--GeoServer手动发布本地Shapefile地图

上面功能是用ArcGIS切片好数据,Geoserver 中发布,并用google地图作为底图展示的效果。 一、ArcGIS是什么?...ArcGIS由ESRI公司开发,是一款创建和绘制各种不同形式地图的软件。 本文所采用的地图数据一般由测绘人员采集,经过gis数据处理人员绘制成图再打包给开发人员经过代码处理展示在网页端。...,Name命名为liugh,代码区添加代码,然后点击页面中的Validate按钮,如果代码没有问题,页面的顶部会提示“No validation errors”,然后点击提交 也可以直接导入styles...保存后弹出以下页面,点击发布 设置坐标系和边界 先不要点击下方的保存,点击发布选项卡 把刚才设置的style加进来 然后点击最下方的保存就发布成功了 4.查看发布的地图 在打开的页面中找到刚刚添加的图层,点击OpenLayers...敬请期待下一篇文章: 高效访问海量地图数据--用OpenLayers访问Geoserver发布的地图

5K70
领券