wfs方式获取最短路径
Posted longshengguoji
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wfs方式获取最短路径相关的知识,希望对你有一定的参考价值。
之前有几篇文章结束基于pgrouting的最短路径规范,获取最短路径用的是wms方式,这样的好处就是路径样式可以预先是geoserver中设置好,且路径渲染由geoserver在后台渲染。但是用户的需求是无穷无尽的,加入用户要求结果路径的样式需要动环效果该怎么做呢?
Wms方式获取的地图是后台渲染好的图片,如果要在前端做出动画效果,就需要用wfs的方式来请求最短路径了,这样做的思路是先获取到结果路径中的点坐标,拿到了点数据,剩下的动画啦、样式啦就可以随心所欲的制作了。
核心代码如下,体验一下吧
var vectorSource = new ol.source.ServerVector({ format: new ol.format.GeoJSON(), loader: function(extent, resolution, projection) { var url = 'http://10.20.135.25/geoserver/wfs'; $.ajax({ url: url, data : $.param(wfsParams), type : 'GET', dataType: 'jsonp', jsonpCallback:'loadFeatures' }).done(loadFeatures); }, strategy: ol.loadingstrategy.createTile(new ol.tilegrid.XYZ({ maxZoom: 25 })), projection: 'EPSG:4326' }); // Executed when data is loaded by the $.ajax method. var loadFeatures = function(response) { vectorSource.addFeatures(vectorSource.readFeatures(response)); }; // Vector layer var vectorLayerJsonp = new ol.layer.Vector({ source: vectorSource, style: new ol.style.Style({ stroke: new ol.style.Stroke({ color: 'green', width: 2 }) }) }); map.addLayer(vectorLayerJsonp);
以上是关于wfs方式获取最短路径的主要内容,如果未能解决你的问题,请参考以下文章