随笔分类 -  Openlayers

摘要:说明 PostGIS栏目中,讨论了入库的存储格式到底是以PostGIS的Geometry格式,还是WKT格式入库比较好。此篇紧接着话题,讨论Openlayers与PostGIS数据的交互。 Geometry格式,例:'0101000020110F0000F2D24D3662CA6841480C02E 阅读全文
posted @ 2020-03-05 15:53 苍龙de链 阅读(751) 评论(0) 推荐(1)
摘要:说明 有时候需要遍历openlayers的交互事件,并根据不同类型进行操作/监控。 解决方案 方法一:实现了找到交互事件中的Select事件,并删除 方法二:其实还有另一种写法,getArray()获取到的是Interactions的数组,可以用操作数组的方式去操作 阅读全文
posted @ 2019-12-31 13:51 苍龙de链 阅读(1017) 评论(0) 推荐(0)
摘要:说明 在Openlayers地图加载时,会默认添加3个控件,很多时候我们并不需要这些默认控件 解决方案 删除所有控件,按需加载自己需要的控件 //清除所有控件 var ctls = map.getControls(); let ctlsLength = ctls.getArray().length; 阅读全文
posted @ 2019-12-31 11:32 苍龙de链 阅读(824) 评论(1) 推荐(0)
摘要:说明 openlayers地图加载时,默认会有9个交互事件 其中可以看到控制双击缩放事件的DoubleClickZoom 我们知道在绘制线时,结束的响应事件也是双击,所以在绘制线时和双击缩放事件就会冲突了。 解决方案 阅读全文
posted @ 2019-12-31 11:16 苍龙de链 阅读(2055) 评论(0) 推荐(1)
摘要:说明: 我的需求是需要实现轨迹播放/暂停/重新播放/从点击处播放,因此封装了一个类 解决方案: 1、初始化:主要是处理一下图层以及数据,通过插值构造一个全局数组 2、播放方法:首先跳转到轨迹范围;新建一个timer定时器,并控制播放完所有轨迹点后清除定时器;用lineString函数传入首尾坐标,完 阅读全文
posted @ 2019-11-14 11:17 苍龙de链 阅读(2114) 评论(0) 推荐(1)
摘要:说明: 在使用ol.interaction.Select时,我定义的变量作用域作用不到其回调函数里,但我在select结果中,需要用到这些变量 解决方案: 虽想了个办法解决了,但不知道是不是合理;是否有其他解决方法 阅读全文
posted @ 2019-11-14 10:42 苍龙de链 阅读(865) 评论(0) 推荐(0)
摘要:说明: 在使用ol.interaction.Select进行点击查询时,默认会把点击选中的要素显示在地图上 我的需求是做轨迹回放,并可以点击轨迹上某一点,进行查询。这时候如果重新播放轨迹,会发现这个选中的残留,这时候我并不需要显示选中的要素。 解决方案: 这里可以用this.getFeatures( 阅读全文
posted @ 2019-11-14 10:37 苍龙de链 阅读(2070) 评论(0) 推荐(1)
摘要:问题: openlayers3调用TileWMS接口,实现Openlayers加载Geoserver转发的ArcGIS切片时,web墨卡托(wkid3857)没有问题,但是WGS84(wkid4326)就不行。 问题排查: 1、查看控制台,发现报错400,这个是由于格式错误引起的 2、于是我把链接复 阅读全文
posted @ 2019-11-06 10:28 苍龙de链 阅读(2017) 评论(0) 推荐(0)
摘要:说明: 在地图操作中,有个功能,需要点击一个点,将视图定位到点击点的位置,并放大。 解决方案: 1、可以有openlayers中可以有ol.View来控制,但是在更改时,会将地图初始化时设置的maxZoom,minZoom等覆盖掉,因此需要在设置新的view前,重新设置一次初始化时的值,避免重复覆盖 阅读全文
posted @ 2019-09-10 15:25 苍龙de链 阅读(7487) 评论(1) 推荐(2)
摘要:说明: 在做项目过程中,用overlay做了一个infowindow弹窗,但是在使用过程中发现一个bug:overlay.setPosition以后,会出现偏移,但是拖动一下地图或者点击一下地图其他地方就回到正确的位置。 代码如下: 过程: 研究发现positioning改成默认(top-left) 阅读全文
posted @ 2019-09-06 13:34 苍龙de链 阅读(2180) 评论(1) 推荐(0)
摘要:说明: 项目中使用vector图层做图片撒点功能,发现加载gif没有效果。网上查找资料发现,openlayers不支持gif图片样式。 后面采用overlay的方式,gif图片赋值给DOM元素 解决方案: 1、单个点 先在地图容器里新增一个id为marks的<div>标签 这个方法的核心在于使用Ov 阅读全文
posted @ 2019-09-05 15:39 苍龙de链 阅读(1340) 评论(0) 推荐(1)
摘要:Overlay在Openlayers里是浮动层的概念,区别于vector这样的图层,通常用于弹窗、撒点、以及解决加载icon样式不支持的gif等格式图片。 此次用overlay的过程中遇到很多问题,在此记录 一、创建Overlay 先简单理一下overlay加载机制:如果我定义了一个id为marks 阅读全文
posted @ 2019-09-05 13:57 苍龙de链 阅读(7884) 评论(0) 推荐(4)