【问题标题】:How to Plot (show) user location on Image? iOS如何在图像上绘制(显示)用户位置? iOS
【发布时间】:2012-09-16 21:38:52
【问题描述】:

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

在图像上显示用户的当前位置,如下所示:

是的,喜欢这张图片!

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

让我们说,

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

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

谁能提醒我完成这项任务?

谢谢大家。 :)

【问题讨论】:

  • 您的示例图像角的位置坐标是什么?你能告诉我们这些数字吗?我建议也放弃诸如 -170° North 之类的术语,并坚持仅在说明方位角时使用角度测量。

标签: iphone ios ipad ios5 geolocation


【解决方案1】:

鉴于您掌握的信息,听起来您可以使用line-plane intersection 来解决您的问题。

【讨论】:

    【解决方案2】:

    我通过在 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];
    

    谢谢大家。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多