如何在图像上绘制(显示)用户位置? iOS版

时间:2012-09-25 11:14:06

标签: iphone ios ipad ios5 geolocation

所以这是我需要在iOS上完成的任务:

在这样的图像上显示用户的当前位置:

enter image description here

是的,就像这张图片!

只要看一眼就会注意到很少的东西。它倾斜了。它的标题是关闭。你可以看到地平线..!

让我们说,

  • 我有此图像角落的位置坐标。
  • 我有这个图像倾斜的角度。 (例如50°)
  • 我有图像的标题角。 (例如,北纬170°,这意味着它大约是西南10°,如果我错了,请纠正我。)
  • 我有缩放级别,如果它在谷歌地图/谷歌地球上,该图像将被缩放。 (例如14缩放级别 - 超过20)

但那就是任务,我需要在这些图像上显示用户位置。就像在“谷歌地球”中一样。

任何人都可以帮我完成这项任务吗?

谢谢大家。 :)

2 个答案:

答案 0 :(得分:1)

根据您提供的信息,您可以使用line-plane intersection来解决问题。

答案 1 :(得分:0)

我通过在UIView上绘制坐标并使用CATrasnform3D对其进行转换来实现所需的结果。这些解释在核心动画和Explanation of Transformation Matrix本身方面也有帮助Core Animation Programming Guide

_graphic.transform = CGAffineTransformMakeRotation(-2.89724656);

CATransform3D rotatedTransform = _graphic.layer.transform;

rotatedTransform.m34 = 1.0 / 500;
rotatedTransform.m22 = -2;
rotatedTransform.m41 = 170;
rotatedTransform.m42 = 170;

rotatedTransform = 
CATransform3DRotate(rotatedTransform, 
                    51 * M_PI / 180.0f, 
                    1.0f, 
                    0.0f, 
                    0.0f);


_graphic.layer.transform = rotatedTransform;

[_graphic setNeedsDisplay];

谢谢大家。