ol.source.getState()
não parece ser confiável. Quando eu chamo isso em uma fonte vetorial, ele volta pronto, mas os recursos ainda não estão disponíveis. O código fica assim:
var vectorSource = new ol.source.Vector({
url: 'world.topo.json',
format: new ol.format.TopoJSON()
});
// ... init map with vectorSource
console.log(vectorSource.getState()); // returns "ready"
console.log(vectorSource.getFeatureById("US")); // returns null
Alguma outra maneira de verificar se uma fonte vetorial está pronta?
openlayers
johjoh
fonte
fonte
Respostas:
Você pode fornecer sua própria função de carregador e definir alguns ouvintes personalizados, conforme a seguir:
Defina alguns ouvintes personalizados:
E uma função xhr:
Demonstração de trabalho .
fonte
Você pode anexar um ouvinte ao seu vectorSource http://openlayers.org/en/v3.7.0/apidoc/ol.source.Vector.html#once
por exemplo
fonte
Acabei com a seguinte função, para executar o código quando a fonte do vetor estiver pronta:
Não tenho certeza se o teste de um único recurso é confiável, como pode ser, que nem todos os recursos sejam disponibilizados ao mesmo tempo.
fonte