在Openlayers 3.9.0中,我正在实现一个代码来绘制特征并获取它们的几何类型和坐标。
当你可以在没有源的情况下创建一个“干净”的矢量图层时,我已经习惯了OL2,因此用户可以创建新的功能,而无需查看旧的,保存的功能。
在OL3中,我无法创建没有源的矢量图层。我没有得到任何错误,但是当我创建一个品脱时,我不会在地图上得到它,即使我设置了一种风格
layerVector = new ol.layer.Vector({
style:myStyle
});
另外,矢量图层必须有一个源,所以我可以这样做
var features = sourceVector.getFeatures();
并获取新创建的功能。
任何没有源的干净矢量图层的解决方案,或者至少没有加载保存的特征?
由于
答案 0 :(得分:2)
使用如下所示的空源初始化矢量图层:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input type="text" value="100" name="setgroup50" />
<input type="submit" value="Set all" />
<input type="text" value="10" name="group50" />
<input type="text" value="10" name="group50" />
<input type="text" value="10" name="group50" />
然后从任何功能中清除图层
layerVector = new ol.layer.Vector({
source:new ol.source.Vector()
});
或更好的@Alvin Lindstam建议
var vecSource = layerVector.getSource();
var featsToRemove = vecSource.getFeatures();
for (var f=0;f<featsToRemove.length;f++)
{
vecSource.removeFeature(featsToRemove[f]);
}
我没有测试它但它应该可以工作。