OL3在db

时间:2016-08-31 13:04:09

标签: javascript php openlayers-3

美好的一天,

我对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图层以保存到数据库,但在将其转换回Object后会出现错误

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

未捕获的TypeError:feature.getId不是函数

如何正确地将要素或拆分功能传递到数组中以通过PHP将其保存到数据库中,然后将其从DB返回到ol.source.Vector,包含所有样式,图像,画布,坐标等。?

每个特征都包含它自己的样式,其中一些像标记一样有图像,有些像arrowLine一样,在LineString event.feature.getGeometry()上有箭头画布.getLastCoordinate();

**编辑**

使用ol.format.KML找到解决方案

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

但仍有一些问题:

  1. 无法保存圈子 - 未捕获的TypeError:无法读取未定义的属性'call'
  2. 连接到最后一个坐标(箭头)的多边形在xml中不存在,我想我需要以某种方式将LineString与Polygon合并
  3. 我在画布中绘制元素并将其放在LineString上,转换为ol.format.KML后,我收到错误的XML,其中画布转换为<href>100</href>,阅读此部分后,我收到有关URL的错误

0 个答案:

没有答案