OpenLayers 3: невозможно получить свойство «лист» неопределенной или нулевой ссылки.

Использование открытых слоев 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.


person TTT    schedule 21.08.2015    source источник
comment
Это могло быть ошибкой. Можете ли вы поделиться кодом, который вы используете для создания функции, удалить ее и добавить похожую?   -  person ahocevar    schedule 22.08.2015
comment
Извините, это довольно сложно извлечь код из приложения, поэтому пока это не сделано, но я отредактировал исходный пост с некоторым прогрессом.   -  person TTT    schedule 24.08.2015
comment
Я нашел решение, касающееся нашего приложения, которое не позволяет однозначно идентифицировать и устранять ошибку. (См. Исходный пост.)   -  person TTT    schedule 25.08.2015
comment
Один из моих коллег обнаружил: очевидно, проблема заключалась в том, что я использовал проекцию для координат, и когда я воссоздавал объект, я повторно проецировал уже спроецированные координаты, что приводило к очень большим числам. Так что в основном это была ошибка в моем коде, обратите внимание на библиотеку.   -  person TTT    schedule 07.09.2015


Ответы (1)


У меня такая же ошибка на консоли, и я решил это тестирование, если у функций была допустимая геометрия (координаты), поэтому я отказываюсь от включения недопустимых функций в источник слоя.

person mapgiordani    schedule 29.04.2016