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);
转载自:https://blog.csdn.net/longshengguoji/article/details/50825168