2015-04-10 2 views
0

Я добавляю слой с источником, запрошенным ol.source.GeoJSON на moveend. Как я могу прервать ожидающие запросы ajax, если карта снова подкрашена до завершения запроса?OpenLayers 3 - Как я могу отменить ожидающие запросы ajax - ol.source.GeoJSON

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

ответ

0

Вместо добавления слоя непосредственно на moveend вы можете принести GeoJSON с помощью AJAX (который может быть отменен), и когда complated добавить данные GeoJSON с помощью объекта вместо параметра Я URL-адрес.

Heres Документы для источника GeoJSON: http://openlayers.org/en/v3.4.0/apidoc/ol.source.GeoJSON.html?unstable=true

Вот как вы отмените запрос Ajax: Abort Ajax requests using jQuery

Надеется, что это помогает вам.

Смежные вопросы