1
私は、Openlayers-3でラインストリングにポイントを挿入するスマートな方法を探しています。今日、完全なLineStringに沿って最も近い点を保存し、forEachSegmentでループを作成して最も近い点のセグメントを見つけ、このセグメントの開始点と終了点の間にポイントを挿入しました。最後に、新しいセクションを完全なLineStringのジオメトリに戻します。Openlayers 3 - 線のどこかにある線の中にポイントを挿入する
効果があります。しかし、よりスマートで短い解決策はありますか?
ありがとうございました&乾杯! Andreas。
pp=modifyfeatures.item(g).getGeometry().forEachSegment(function (start, end){
waylinexy=new Array();
waylinexy.push(start);
waylinexy.push(end);
var segment = new ol.Feature({geometry:new ol.geom.LineString(waylinexy, 'XY')});
pp.push(start);
if (segment.getGeometry().getClosestPoint(cmpos).toString()==cmpos.toString()){pp.push(cmpos); }
pp.push(end);
return pp;
});
var ps = new ol.Feature({geometry:new ol.geom.LineString(pp, 'XY')});
modifyfeatures.item(g).getGeometry().setCoordinates(pp);
+0
Andreas
は、最初の行を忘れてしまった:cmpos = modifyfeatures.item(G).getGeometry()getClosestPoint(eventcoord)。 –