ol.Feature.getGeometry()。j让我得到所有坐标的数组。 [x,y,x,y,x,y ..]这适用于点或多边形。我用它来移动功能,它工作得很快很好。但是.j不是获得阵列的“官方”方式。最好的方法怎么样? 编辑:我不喜欢使用getCoordinates()它为点或多边形提供不同的数组实例,我不喜欢使用.j,因为它可能在以后的版本中出现。 (所以我必须修理它)
使用ol.js 3.5.0和jquery作为示例代码
var x=5, y=-10;
var l=feature.getGeometry().j,n=[],b=true;
$.each(l,function(i,v){
if(b){
n.push(v+x);
b=false
}else{
n.push(v+y);
b=true
}});
feature.getGeometry().j=n;
答案 0 :(得分:1)
函数applyTransform()允许您修改几何体的内部表示。
var move = function(input, output, dimension) {
for (var i = 0, ii = input.length; i < ii; i += dimension) {
output[i] = input[i] + x;
output[i + 1] = input[i + 1] + y;
}
};
geometry.applyTransform(move);