openlayers发布离线地图
rn 最近的一个项目需要在局域网内做到地图效果,在网上搜素以后,决定使用openlayers加离线瓦片地图来做。rn 下面代码是摸索了几天以后做出的例子,当然因为了解不深,只是简单做了一个效果,没用到太多的组件和方法,还希望精通的大神不要笑话。rn 代码:rn rn
rn 最近的一个项目需要在局域网内做到地图效果,在网上搜素以后,决定使用openlayers加离线瓦片地图来做。rn 下面代码是摸索了几天以后做出的例子,当然因为了解不深,只是简单做了一个效果,没用到太多的组件和方法,还希望精通的大神不要笑话。rn 代码:rn rn
地图应用是大流量应用,如果频繁刷新页面,造成的数据传输也必然是很大的,这在你的网络不是很好的时候,你就醉了,这时候便是 AJAX 显现优势的时候了。这里我们把 AJAX 应用在地图搜索中,下面看看怎么做到的吧!
rnOpenLayers设置地图缩放最小范围和最大范围rnfunction init()n n var options=n n projection: “EPSG:4326”, n eventListeners: n n “moveend”: mapEvent,n “zoomend”: mapEventn ,n contro
openlayer2屏蔽双击放大事件nn环境为 open layer 3.1.3.1nn代码如下nnnn
n n在Openlayers地图上根据地图分幅规则,绘制分幅网格,需要注意的有几点:1确认什么比例尺时展示什么1:100万、1:50万…比例尺的分幅2根据地图当前视窗位置,动态绘制注记和网络,因为全部绘制的话,网格和注意太多,严重影像运行速度3绘制经线和纬线,不绘制网格,网格严重内存更多代码如下: addSheetNumber(number)n getLayerByName
n不知道大家有没有遇到在OpenlayersG地图中叠加图片显示的情况,这里发布一个我用来计算图片bounds的工具代码: 转载请注明出处:tedeum.iteye.comrnrnrn
rn做开发时,很多人刚刚接触Openlayers,不知道在哪下载API、API DOC、Example。下面列举一下地址最新版API、说明文档、Example下载地址:https://openlayers.org/download/历史版本下载地址:https://github.com/openlayers/openlayers/releases/…
最近遇到了在Openlayers上开发地图打印的功能,官网给了两个全图打印的demo。其核心思想是将canvas里的像素提取出来。
//添加属性控件rnmap.addControl(new ol.control.Attribution());rn//添加鼠标定位控件rnmap.addControl(new ol.control.MousePosition(rn undefinedHTML: ‘outside’,rn projection: ‘EPSG:4326’, rn coordinateFormat:
根据这篇文章改写而来,主要实现了在地图上点击弹出气泡框,用来展示经纬度,当然你也可以改成展示其他内容。rn n n n n n nOpenLayers MapQuest Demo n n n html, body, #map n padding:0; n margin:0; n
在openlayer API里找了好久也没找到,最后问老同学才解决这个问题,今天记录下来nnnkey = map.on(‘click’, function (e) n…n.bind(this));nn//移除clicknnnol.Observable.unByKey(key);…
Making it look nice前面已经完成了基础的功能,包括导入、编辑、导出。但是没有做一下美化,当你创建了一个矢量图层,会默认很多样式。编辑过程中的交互也是默认的样式,你可能注意到在编辑过程中线条很粗,这个可以通过向矢量图层和交互提供style来控制这些属性。Static style如果我们给所有要素集定义通用的样式,可以如下配置:const layer = new VectorLaye…
如果你自己写过在地图上划线、标记、自动贴合、删除适量线条等这些功能,那么你就会喜欢上下面来自openlayers官方的代码:nnnnn
nnn
n nVector类是继承了OpenLayers.Layer的,Layer的所有事件类型都能在Vector中被使用。rn 一、事件类型的注册rn vector_layer.event.register(type,obj,listener);rn vector_layer是矢量图层的名字,上面的代码能够将事件注册到事件类型中去,除了Layer的事件类型外,矢量图层还支持以下事件…
//通过禁止 和 解除 拖动解决 gis 使用: pan.setActive(true) –开启拖动 pan.setActive(false) –关闭拖动 rnrnrn启用拖动方法rnrn var pan; rn function onMove()rn map.getInteractions().forEach(function(elem
关于openlayers加载离线百度地图的东东好几年前就做过了,不过当时做的是2.0版本的。rnrnrn自从好久没有去做可视化分析之后,也很少接触这些前端的JS的东西了。最近想实现一个东西的时候,才想起需要用到一些比较干净的底图。rnrnrn于是刚好选用了百度迁徙后面的底图。rnrnrn由于百度的JS包东西太多,需要的东西太复杂,于是就选用openlayers来进行测试。果然还是非常流畅。rnrn
本人变向解决由于Openlayers不支持gif和swf格式图片要素问题。rn希望给需要的朋友提供参考。
1.geojsonrn var geo = new OpenLayers.Layer.Vector(“EarthQuake”, n strategies: [new OpenLayers.Strategy.Fixed()],n protocol: new OpenLayers.Protocol.HTTP(n url: ‘http://172.31.170.98:
目前一切顺利,两种不同的地图,要实现相同的效果,只需要配置地图类别为baidu或者openlayers,其他的代码完全一样。遇到的问题: layer层在添加feature的时候,如果map层已经给layer层添加过交互事件了,那么这个新的fea…
在openlayer中引入切片,添加各种服务,视角的定义等情况下都有对projection的属性进行设置,有的是默认值,有的需要自定义,但是他们与请求的服务之间或多或少存在着千丝万缕的联系。或者互不影响。本人在实践过程中,对经常出现的几个projection的理解进行了总结,直接看代码:nnnn
n使用mapserver发布了地图服务,使用openlayers调用时出现了乱图问题,如下图:rnrnrnmapserver中的 mapfile文件中的部分内容如下:rnrnrnrnopenlayers 中调用的部分代码如下:rnrnrnrnrn经过反复排查后终于找到了原因:rnopenlayers中有专门调用mapserver发布的服务的类 OpenLayers.Layer.MapServerrn
3.Sourceol/ol/Source文件夹下 3.1构造函数3.1.1 ol.source.Source ol.source的基础类ol/ol/Source/source.jsol.source.Source = function(options) 3.1.2 ol.source.OSMol/ol/Source/osmsource.js nopenStreetMap:ol.source.OS
地图组成部分nnnnnnnmapnViewnlayersnsourcencontrolninteractionnnnnnmapnn地图(Map):对应的类是ol.Map。所有的地图操作,不论是视图还是交互都要基于它来实现。nnnnViewnn视图(View):对应的类是ol.View,之前已有接触,控制地图显示的中心位置,范围,层级等。nnnnlayersnn图层(Layers):Ol3有多种多样…
The VectorTile layer我们已经知道如何载入瓦片图片,并且能够用不同的方法载入渲染矢量地图。但是我们如何能够用传输到浏览器更快的瓦片的同时,能够样式化数据?这就是矢量瓦片的作用,openLayer通过vectorTile层来支持矢量瓦片。A world map rendered from vector data同样需要在index.html中定义基础的东西:
nn
n n n