我希望使用多点几何来保存我在地图上的不同要素点,但我需要围绕一个点旋转它们。
Openlayers 3是否有任何功能可以让我采用多点并围绕其中一个点旋转?
ol.coordinates.rotate()
存在但不执行我需要的操作。
这是图书馆的一部分还是实施者的三角练习?
答案 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];
}
在我的坐标中喂食有效。对此的扩展可以为其提供多点几何,具有指定的轴点,并使用此功能一次性旋转其周围的所有其他几何。
哦,我必须反转发送的角度才能正确旋转,但这可能是我的实现。
欢迎评论。