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);


你可能感兴趣的:(最短路径,geoserver,openlayer3)