1、图形集合可以序列化为JSON格式 ,但是其中的样式数据及自行添加的属性不会被转出,只能转出坐标数据
var string = new ol.format.GeoJSON().writeFeatures(newfeatures, {
});
2、 ol.interaction.Translate 与snap不能精确配合,总是差那一点,将 ol.interaction.Translate换为ol.interaction.Modify后可以精确定位
3、 用线切割面成两个图形的方法,没有找到。这里采用了将线转换为很小的面,进行切割,根据结果坐标再将结果分成两个或多个图形
4、改变图层样式,地图中的图形样式没有立刻变化,map.render()仍然不可以,需要用点击触发一下地图的事件必须有变化才可以,最后用以下方案解决
let layers = that.map.getLayers();
layers.forEach(layeritem =>
{
let feats = layeritem.getSource().getFeatures();
feats.forEach(featitem =>
{
featitem.changed();
});
});
5、ol.interaction.SnapGuides、ol.interaction.Snap,只对在其之前添加的interaction有效,所以如果要动态添加interaction,要用到以上两种时,应该删除再添加,进行刷新,否则不起作用