Javascript 获取ol.Feature.getGeometry().j的更好方法

Javascript 获取ol.Feature.getGeometry().j的更好方法,javascript,openlayers-3,Javascript,Openlayers 3,获取所有坐标的数组。[x,y,x,y,x,y..]这适用于点或多边形。我用它来移动功能,它工作得又快又好。但是.j不是获取数组的“官方”方式。最好的方法是什么? 编辑:我不喜欢使用getCoordinates(),它为点或多边形提供不同的数组实例,我不喜欢使用.j,因为它可能在以后的版本中出现。(所以我必须修复它) 示例代码使用ol.js3.5.0和jquery 该函数允许您修改几何图形的此内部表示形式 var move = function(input, output, dimension)

获取所有坐标的数组。[x,y,x,y,x,y..]这适用于点或多边形。我用它来移动功能,它工作得又快又好。但是.j不是获取数组的“官方”方式。最好的方法是什么? 编辑:我不喜欢使用getCoordinates(),它为点或多边形提供不同的数组实例,我不喜欢使用.j,因为它可能在以后的版本中出现。(所以我必须修复它)

示例代码使用ol.js3.5.0和jquery

该函数允许您修改几何图形的此内部表示形式

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);
var move=函数(输入、输出、维度){
对于(变量i=0,ii=input.length;i

另请参见

您是否正在使用一些自定义ol3构建?这是什么
.j
?不,这是正常的ol3版本。如果使用console.log(new ol.Feature())或console.log(you_test_Feature),您可以在控制台中看到所有基函数和类“attributes”,其中一个是Feature.j,它是样式[x,y,x,y..]中所有二维坐标的数组。在javascript中,不使用API是一种很好的工作方式,因为您可以看到类可以做什么。对于移动特性的基本思想来说,这是一个很好的解决方案。我试试看。如果它起作用,我就不需要j。我稍后会测试它,但现在将其标记为正确答案。谢谢@tsauerwein:)如果可以的话,我想看看这个动作的例子。我回答中的代码实际上是“所有的魔法”。但无论如何,这里有一个JSFIDLE:
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);