2015-08-03 118 views
0

我正在寻找使用多点几何体来保存地图上不同点的功能,但我需要将它们绕一个点旋转。Openlayers 3旋转多点几何体

Openlayers 3是否有任何功能可以让我采用多点并围绕其中一个点旋转它?

ol.coordinates.rotate()存在但不执行我需要的操作。

这是库的一部分还是实现者的三角函数?

回答

0

我结束了创建multiplie ol.geom.Point对象,并使用下面的函数围绕给定的点旋转他们: -

rotateGeometry = function(pointLongitude, pointLatitude, originLongitude, originLatitude, angle) { 
    angle = angle * Math.PI/180.0; 
    return [Math.cos(angle) * (pointX - originX) - Math.sin(angle) * (pointY - originY) + originX, Math.sin(angle) * (pointX - originX) + Math.cos(angle) * (pointY - originY) + originY]; 
} 

在我的坐标奏效喂养。对此的扩展可能是为它提供多点几何,带有指定的轴点,并一次性使用此功能旋转其周围的所有其他几何图形。

哦,我不得不反向角度发送正确旋转,但这可能是我的实现。

评论欢迎。