Использование открытых слоев 3.7.0. У меня есть слой с особенностями. Я удаляю один, создаю новый, похожий, добавляю новый и получаю сообщение об ошибке «Невозможно получить свойство« лист »неопределенной или нулевой ссылки».
Я искал, что могло вызвать это, но поиск не дал результатов.
Еще кое-что из той же ошибки (здесь я использовал v3.8.2, но получил то же самое: в rbush.prototype._chooseSubtree (http://openlayers.org/en/v3.8.2/build/ol-debug.js:70778:13) по адресу rbush.prototype._insert ( http://openlayers.org/en/v3.8.2/build/ol-debug.js:70815:9)
на rbush.prototype.insert (http://openlayers.org/en/v3.8.2/build/ol-debug.js:70623:19) в ol.structs.RBush.prototype.insert (http://openlayers.org/en/v3.8.2/build/ol-debug.js:71178:3) в ol.source.Vector.prototype.addFeatureInternal (http://openlayers.org/en/v3.8.2/build/ol-debug.js:71589:7) в ol.source.Vector.prototype.addFeature (http://openlayers.org/en/v3.8.2/build/ol-debug.js:71566:3)
Прогресс
Где мы строим объект, у нас есть проекция.
var lineString = new ol.geom.LineString(coordinates);
lineString.transform("EPSG:4326", "EPSG:3857");
var feature = new ol.Feature(lineString);
(...)
Если мы прокомментируем / удалим
//lineString.transform("EPSG:4326", "EPSG:3857");
Тогда бага нет. Между прочим, это подсказка, а не решение, поскольку в этом случае функции не находятся там, где они должны быть.
Решение найдено
Я не думаю, что это идеальное решение, но я решил проблему, касающуюся или приложения, сохранив LineStrings в памяти вместо того, чтобы воссоздавать его. Затем я все еще воссоздаю Feature из существующей LineString.