Openlayers 3 OpenLayers 3-如何中止挂起的ajax请求-ol.source.GeoJSON

Openlayers 3 OpenLayers 3-如何中止挂起的ajax请求-ol.source.GeoJSON,openlayers-3,Openlayers 3,我正在添加一个层,其中包含moveend上的ol.source.GeoJSON请求的源。如果在请求完成之前再次平移映射,如何中止挂起的ajax请求 map.on('moveend', function(){ map.removeLayer(highlightedLayer); var theSource = new ol.source.GeoJSON({ url: 'wfs.php?bbox='+bbox }); var h

我正在添加一个层,其中包含moveend上的ol.source.GeoJSON请求的源。如果在请求完成之前再次平移映射,如何中止挂起的ajax请求

map.on('moveend', function(){
    map.removeLayer(highlightedLayer);
    var theSource = new ol.source.GeoJSON({
            url: 'wfs.php?bbox='+bbox
            });
    var highlightedSource = new ol.source.GeoJSON({});
    theSource.on('change', function(e){
            if(theSource.getState() == 'ready'){
                    var features = theSource.getFeatures();
                    $.each(features, function(k,v){
                            if(v.n.filter == 'include'){
                                    highlightedSource.addFeature(features[k]);
                                    }
                            });
                    highlightedLayer.setSource(highlightedSource);
                    map.addLayer(highlightedLayer);
                    }
            });
    });

不必直接在moveend添加层,您可以使用ajax获取GeoJson,这可以被取消,并在收到投诉时使用对象参数而不是url添加GeoJson数据

以下是GeoJSON源的文档:

以下是取消ajax请求的方法:

希望这对你有帮助