0
Внутри обратного вызова ajax У меня есть все функции, как ожидалось, но у меня их нет на улице.Openlayers 3 source source issue
Что мне не хватает?
var geojsonSource = new ol.source.Vector();
$.ajax('assets/data/data.geojson').then(function(response) {
var geojsonFormat = new ol.format.GeoJSON();
var features = geojsonFormat.readFeatures(response, {featureProjection: 'EPSG:4326'});
geojsonSource.addFeatures(features);
console.log(geojsonSource.getFeatures()); // this work
});
console.log(geojsonSource.getFeatures()); // this doesn't work
Это не OpenLayers (или вектор источник) проблема, это вызвано тем, что JavaScript является асинхронным и последней строкой выполняется * перед тем * выполняется функция обработчика AJAX (она вызывается только при полной загрузке удаленных данных). – kryger
Возможный дубликат [Как сделать код javascript execute \ * в порядке \ *] (http://stackoverflow.com/questions/2637626/how-do-you-make-javascript-code-execute-in-order) – kryger