gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 00:11:55 24 4
gpt4 key购买 nike

ol.Feature.getGeometry().j 获取所有坐标的数组。 [ x, y, x, y, x, y .. ] 这适用于点或多边形。我用它来移动功能,它工作得又快又好。但 .j 不是获取数组的“官方”方式。最好的方法又如何呢?编辑:我不喜欢使用 getCooperatives() 它为点或多边形提供不同的数组实例,并且我不喜欢使用 .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;

最佳答案

函数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);

另请参阅ol.TransformFunction

关于javascript - 获取 ol.Feature.getGeometry().j 的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30803366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com