沿多边形内的线旋转标记-地图

时间:2018-12-19 14:53:08

标签: maps markers

我正在处理地图中的多边形(可能是不规则的)。我需要在多边形的中心显示一个标签。我正在使用标记器标记标签,并且找出了一个中心。

问题是我还需要旋转标签,以使标签尽可能位于多边形内。我需要将其对齐在一条线上,因此我想找到该线的斜率,然后沿斜率的棕褐色倒数旋转标签。以下是我尝试过的部分代码。

//(startLat, startLon) and (endLat, endLon)
var dy= (endLon - startLon);
var dx= (endLat - startLat); 
var angle = Math.Atan(dy/ dx);

它是直线公式的斜率。

但这无法获取正确的结果。角度似乎不正确。当我沿这个角度旋转标签时,似乎旋转太多。我不明白我要去哪里错了。是因为我试图找到一条线的斜率但实际上是一条弧线而错了吗?但是我认为,由于它在大球体上的小弧形,因此可以视为一条线。

有人可以指出我要去哪里哪里以及如何实现这一目标吗?

当前标签位置

enter image description here

必需的标签位置

enter image description here

0 个答案:

没有答案