在MapView iOS中,将大头针放置在2点之间的线上



我有一个问题:我有一个存储位置1个引脚注释,半径为2km。当用户将接点注释移动到距离存储位置2公里以外的半径时。我想从商店位置和旧的引脚注释中跳转线上的引脚,以便圆半径始终覆盖商店位置。我该怎么做?请给我一些建议。非常感谢。

保持商店位置被覆盖意味着将引脚限制在商店周围2公里的圆圈内。如果存储在(0,0),而您的点在(dx,dy),则查找距离:R=sqrt(dx*dx+dy*dy)。

现在,如果R>2km,则通过以下方式找到缩放距离的因子:s=2km/R。

现在将点移动到(s*dx,s*dy),它将正好位于商店周围2公里的圆圈上,因此商店将位于引脚周围2公里圆圈上。

最新更新