У меня есть карта OpenLayers, в которой векторный слой листов расположен поверх стандартного слоя листов с источником XYZ. Векторный слой листов использует собственный источник векторных листов, который считывает ответ на запрос на сервер и заполняет слой функциями:
tileLoadFunction = (tile, url) =>
{
var request = new XMLHttpRequest();
request.open("GET", url, true);
request.responseType = "json";
request.setRequestHeader("Content-Type", "application/json");
request.onload = function(e)
{
if(request.response != null)
{
var data = request.response;
var features = [];
for(var i = 0; i < data.length; i++)
{
var point = new Point([data[i].x, data[i].y]);
var feature = new Feature();
feature.setGeometry(point);
feature.set("name", data[i].name);
feature.set("type", data[i].type)
features.push(feature);
}
tile.setFeatures(features);
}
}
request.send();
}
Изначально, когда приложение запускается, как слой листов, так и векторный лист Слой выполняет запросы к плиткам, однако после первой партии запросов карта больше не получает плитки для любого из слоев, независимо от того, сколько я выполняю масштабирования и панорамирования.
Это происходит только после того, как я ' Мы добавили векторный слой листов. Если я запускаю приложение только с слоем листов, карта функционирует нормально и постоянно получает новые листы с сервера. Я что-то не так делаю со слоем векторных плиток, который мешает ему извлекать новые плитки?