我目前正在开发适用于iPhone的地图应用。我已经创建了一些不同大小的自定义地图,但我遇到了一个问题:
我想实现自动检查用户位置的能力,但由于我没有使用MapView,这更加困难。 (见下文)
考虑到不同的坐标系,我希望收到一个地理位置(绿点)并将其转换为自定义地图上的像素位置。 我得到了4个角落的地理位置,但是矩形是歪斜的。我已经计算了旋转角度,但我通常很困惑。
注意:地图的大小不足以使地球的球形性质得到计算。
感谢任何帮助!
答案 0 :(得分:0)
要将地理位置转换为点,您需要先了解映射。假设您正在使用墨卡托。
x = R*long
y = R*(1+sin(lat))/cos(lat)
其中lat和long以弧度表示.R是地球的半径。图像的比例来自0 to R*PI
所以要在view.frame.size中获取它,你可能需要除以比例因子。
点之间的差异。
x2-x1 = R* (long2-long1)
y2-y1 = R* ( (1+sin(lat2))/cos(lat2) - (1+sin(lat1))/cos(lat1) )