JavaScript — OL3 сохранить одну функцию в БД

Добрый день,

У меня есть последние изменения функции на draw.on («drawend»)
также на drawend я пытаюсь экспортировать функцию

var feature = event.feature;
var cache = [];
jsonFeature = JSON.stringify(
feature,
function(key, value) {
if (typeof value === "object" && value !== null) {
if (cache.indexOf(value) !== -1) {
return;
}

cache.push(value);
}

return value;
}
);
cache = null;

и пытается передать его на уровень RPC для сохранения в базе данных, но после преобразования его обратно в объект я получаю ошибки

var clone = JSON.parse(jsonFeature);
vectorSource.addFeature(clone);

Uncaught TypeError: feature.getId не является функцией

Как правильно передать объект или разделить объект в массив, чтобы сохранить его в БД через PHP, а затем вернуть его обратно из БД в ol.source.Vector со всеми стилями, изображениями, холстом, координатами и т. Д.?

Каждая функция содержит свой собственный стиль, некоторые из них, например, маркер, имеют изображение, а некоторые, например, arrowLine, имеют холст со стрелкой на голове в LineString event.feature.getGeometry (). GetLastCoordinate ();

** Редактировать **

Найдено решение с использованием ol.format.KML

var kml = new ol.format.KML();
var jsonFeature = kml.writeFeatures([feature]);

но все же есть некоторые проблемы:

  1. не могу сохранить круг — Uncaught TypeError: Невозможно прочитать свойство ‘call’ из неопределенного
  2. полигон, который соединяется с последней координатой (наконечником стрелки), не существует в XML, я думаю, мне нужно как-то объединить LineString с Polygon
  3. я рисую элемент в canvas и помещаю его в LineString, после преобразования в ol.format.KML получаю плохой XML, где canvas преобразуется в <href>100</href> и после прочтения этой части я получаю сообщение об ошибке URL

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]