Openlayers 3旋转多点几何

时间:2015-08-03 11:43:03

标签: rotation openlayers-3

我希望使用多点几何来保存我在地图上的不同要素点,但我需要围绕一个点旋转它们。

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

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

这是图书馆的一部分还是实施者的三角练习?

1 个答案:

答案 0 :(得分: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];
}

在我的坐标中喂食有效。对此的扩展可以为其提供多点几何,具有指定的轴点,并使用此功能一次性旋转其周围的所有其他几何。

哦,我必须反转发送的角度才能正确旋转,但这可能是我的实现。

欢迎评论。