草庐IT

openlayers

全部标签

OpenLayer对容器Map自定义坐标系

OpenLayer原则上只支持EPSG:4326和EPSG:3857,其中EPSG:3857是创建容器时,如果不声明,默认使用的坐标系,那么如果需要别的坐标系的话,就需要自己定义和配置,一般情况下,自定义坐标系都是可以在EPSG.IO上面找到对应的EPSG所对应的详细参数下面时配置方法1、引入Proj4.jsnpmiproj4//npm安装proj42、定义坐标系(以使用EPSG:4490为例)importproj4from"proj4";import{register}from"ol/proj/proj4";importProjectionfrom"ol/proj/Projection";i

openLayer加载ArcGIS切片

OpenLayer中加载ArcGIS服务提供了最常用的TileArcGISRest方法,实际上我们从浏览器的network捕捉的每次的请求链接亦或者看其源码,都会发现,它实际上调取了arcserver的RESTAPI中的export接口,对于普通的服务来说确实足够了,但是对于地图服务内容比较多的服务,使用export的方法,会加大服务器的承担量,会出现加载等待的情况。   所以我们需要做切片,并调取切片地址,调取切片我们使用XYZ方式下面是方法importTileLayerfrom"ol/layer/Tile";import{XYZ}from"ol/source";importTileGrid

openlayers6地图全图以及框选截图导出功能(附源码下载)

内容概览openlayers6地图截图导出功能源代码demo下载效果图如下:本篇主要参考截图插件domtoimage:https://github.com/tsayen/dom-to-image地图全图导出直接用上面的domtoimage插件,然后矩形框选截图导出也是在domtoimage插件基础上自己计算矩形范围来实现的部分核心代码,完整的见源码demo下载varbaseLayer=newol.layer.Tile({source:newol.source.TileArcGISRest({url:'http://map.geoq.cn/ArcGIS/rest/services/ChinaOn

openlayers6结合echarts4实现迁徙图

效果图如下:参考GitHub来实现的,更详细的源码以及参数说明见:GitHub本篇文章的html源码:openlayers6结合echarts4实现迁徙图-->html,body,#map{height:100%;margin:0;padding:0;}/***地图创建初始化*/varmap=newol.Map({target:'map',layers:[newol.layer.Tile({source:newol.source.XYZ({url:'http://cache1.arcgisonline.cn/arcgis/rest/services/ChinaOnline'+'StreetPu

openlayers6地图切换展示(附源码下载)

前言之前写过一篇openlayers4版本的地图切换效果,但是由于是封装一层js代码写的,很多初学者看起来比较有点吃力,所以本篇文章重新写一篇地图切换效果,直接基于最新版本openlayers6写的,纯粹html+js+css形式,没有任何封装。内容概览1.基于openlayers6实现地图切换展示效果2.源代码demo下载效果图如下:大概实现思路如下:地图初始化配置加载各种在线地图,比如天地图,arcgis地图,谷歌地图,高德地图,百度地图,OSM地图等等,默认图层只显示一个地图,其他在线地图默认隐藏不可见状态;js自定义一个底图切换的控件,底图切换时候,动态设置图层的隐藏以及可见性,达到底

openlayers学习(一)仿3D效果地图

最近看到一些3D的地图,觉得很炫酷,实现按道理来说应该是用3D类的地图来实现,刚好在学习一些openlayers的内容,所以也尝试一下,但最终效果也仅局限于单个polygon下。其他实现方式应该还是使用cesium或者mapbox或者echarts会方便很多。学了一趟openlayers后,发现并没有那种可以供我使用的示例或者是其它可参考的啥的,所以自己分析后,觉得3D效果瞅着就是一块多边形偏移后显示的结果,然后就使用官方的例子https://openlayers.org/en/latest/examples/layer-clipping-vector.html先对多边形裁剪后展示下方偏移的阴

openlayers实现锁定地图,不可使用鼠标拖动放大缩小地图

解决问题开启地图锁定功能,不再允许使用鼠标拖拽查看地图,使用鼠标滚轮放大缩小查看地图关键代码functionlock(){letpan;letmousezoom;map.getInteractions().forEach(function(element){if(elementinstanceofDragPan)//获取控制能否使用鼠标,手指拖动地图的对象pan=element;if(elementinstanceofMouseWheelZoom)//获取控制能否使用滚轮滚动放大缩小地图的对象mousezoom=element;if(pan){pan.setActive(true);}if(m

OpenLayers 开源的Web GIS引擎

介绍:开源的WebGIS引擎,使用了JavaScript、最新的HTML5技术及CSS技术,支持dom,canvas和webgl三种渲染方式。除了支持网页端,还支持移动端。在地图数据源方面,支持各种类型的瓦片地图,既支持在线的,也支持离线的。比如OSM,Bing,MapBox,Stamen,MapQuest等等;还支持各种矢量地图,比如GeoJSON,TopoJSON,KML,GML等等。随着OpenLayers3的进一步发展,将支持更多的地图类型。学习网址:(1)官网:https://openlayers.org/en/latest/apidoc/module-ol_Feature-Feat

openlayers(二)添加炫酷的3D效果并加上滤镜

先上效果图,可用于大屏展示的效果3D效果设计如下openlayers(一)添加3D图注:偏移量需要根据实际的多边形大小来设置在之前的基础上添加了阴影效果,并加上canvas滤镜添加滤镜效果,专为一个图层添加滤镜this.googleImgLayer=newTileLayer({className:'stamen',source:newXYZ({//url:'https://gac-geo.googlecnapps.cn/maps/vt?lyrs=s,m&gl=&x={x}&y={y}&z={z}',url:'http://t0.tianditu.com/DataServer?T=img_w&x

GIS入门,开源 JavaScript二维地图引擎OpenLayers介绍

Vue+OpenLayers中文教程推荐,不同于OpenLayers官方文档使用html+js原生原生教程,博主专栏包含大量vue整合案例和实际开发案例,非常适合地图开发小白快速入门。vue整合OpenLayers6入门教程:《Vue+OpenLayers入门教程汇总目录》vue整合OpenLayers6实战中文教程,包含大量OpenLayers官方文档没有涉及到的实际开发案例:《Vue+OpenLayers实战进阶专栏目录》OpenLayers介绍OpenLayers是一个开源的JavaScript库,用于显示交互式的地图和地理数据,支持多种地图数据源和格式。主要用途是在Web应用程序中呈现