Я новичок в OL на прошлой неделе, поэтому я прошу прощения, если я пропустил что-то очевидное.Это в основном собраны из примеров, но я уверен, что понимаю, что происходит в данный момент.Вы можете увидеть мой код в действии здесь: https://fleur.github.io/dist/index.html, или более условно, здесь: https://github.com/fleur/olexample.
Если я создам карту с векторным слоем, источником которого является статический файл (через 'urlсвойство), функции отображаются, как ожидалось.Если я создаю карту с тем же кодом, где единственным отличием является то, что источником является функция загрузчика, выполняющая вызов xhr, функции не отображаются.
Я поместил слушателей как на источник, так и на источник.слой в обоих случаях и вызовите эти события:
static:
precompose
postcompose
addfeature
addfeature
addfeature
change
precompose
render
postcompose
dynamic:
precompose
postcompose
addfeature
addfeature
addfeature
change
precompose
postcompose
Обратите внимание, что в динамической последовательности нет события 'render'событий.Я даже делаю синхронный вызов HTTP.Я в полной растерянности.Функция динамического загрузчика исходного кода делает замысловатые вещи с замыканиями, так что, может быть, это как-то связано с этим?Код был взят из примера на openlayers.org, и изменен только с помощью console.log и другого URL.
Итак, мой вопрос: как я могу получить динамически извлекаемые функции, которые получаютдобавлено в источник, для рендеринга?