【问题标题】:Addint lat/lon data to scrollview in iOS将纬度/经度数据添加到 iOS 中的滚动视图
【发布时间】:2012-08-22 04:28:01
【问题描述】:

我为我正在开发的 iOS 应用程序创建了一个自定义地图 (jpg)。我在滚动视图中显示了大图像。

我已经有了图像所有四个角的纬度/经度,但我不知道如何转换已知位置,以便我可以在地图的某些位置上绘制标签。标签位置基于 lat/lon,因此我需要一种将 lat lon 转换为 x/y 坐标的方法,以在应用程序的图像上显示对象。

我已经查找了这方面的信息,但我发现的所有内容都更多地涉及获取知道的纬度/经度,而不是在应用程序中实现它。

(地图是德克萨斯州大小的区域)

不胜感激任何指导

谢谢

【问题讨论】:

  • 你必须得到纬度/经度数字,减去它们,知道确切的绘制速率并将其转换为像素。没有别的办法。一个更好的建议是在您的应用程序中使用 Google 地图,它会为您节省很多工作,而不是 JPG。不过,这将需要在线..

标签: iphone ios ipad coordinates


【解决方案1】:

在阅读了您的问题几次之后,我仍然不知道您要做什么。但这里有一些转换技巧

假设您的 jpg 图像具有 (a,b) 到 (c,d) 的 (lat,lng) 和(宽度,高度)的像素

所以从你使用的 (x,y) 获取 (lat,lng)

lat = a + x/width*(c-a);
lng = b + y/height*(d-b);

现在请确保您使用的是相同的坐标系。如果不是,假设您的像素从左下角而不是左上角开始,然后将其反转。

lat = a + x/width*(c-a);
lng = b + (height - y)/height*(d-b);

从 lat 和 lng 转换 x 和 y 也是如此。只需颠倒上面的公式。 现在您需要使用他们的反向地理编码 API 从 Google 查找内容。除非你更喜欢别的东西,这里有一些 sn-p:

NSString *urlStr = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/geocode/json?latlng=%f,%f&sensor=true", lat, lng];
NSData *dataFromServer = [NSData dataWithContentsOfURL: [NSURL URLWithString:urlStr]];

dataFromServer 包含有关您要查找的内容的 JSON 信息。根据需要解析它。

这是你要找的吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-27
    • 2013-11-17
    • 1970-01-01
    • 2012-03-01
    相关资源
    最近更新 更多