无法理解MKMapPoint(s)

时间:2012-02-13 08:57:30

标签: iphone objective-c xcode mkmapview

在理解MKMapPoint时,有人能指出正确的方向吗?

据我所知,它与在2D表面上铺设地球表面有关。但我不明白每个"指向"衡量?

有人能在代码中给我一个例子吗?

3 个答案:

答案 0 :(得分:1)

没有太多东西..只是一个在2D地图上显示点的结构......这里是文档所说的..

  

MKMapPoint二维地图投影上的一个点。

     

typedef struct {       双x;       双y; MKMapPoint;

     

字段x沿x轴的点的位置   地图。 y沿y轴的点的位置   地图。讨论如果投影地球的曲面   在平坦的表面上,你得到的是一个二维版本的   经度线看起来平行的地图。这种地图经常是   用于同时显示地球的整个表面。一个   MKMapPoint数据结构代表了这个二维点   地图。

     

地图点的实际单位与使用的基础单位相关联   绘制MKMapView的内容,但你永远不需要   直接担心这些单位。您主要使用地图点   简化使用坐标复杂的计算   曲面上的数值。通过转换为地图点,您可以   在平坦表面上执行这些计算,这通常很多   更简单,然后根据需要转换回来。你可以映射   使用MKMapPointForCoordinate和坐标值和地图点   MKCoordinateForMapPoint函数。

     

将地图相关数据保存到文件时,应始终保存   坐标值(纬度和经度)而不是地图点。

     

可用性适用于iOS 4.0及更高版本。在MKGeometry.h中声明

答案 1 :(得分:0)

如果你想在具有特定真实世界大小的地图上绘制某些内容,例如缩放,那么在你的计算中,你会将任意给定长度(以米为单位)与MKMapPointsPerMeterAtLatitude(...)的结果相乘得到MKMapPoint单位的大小。

如果地图仅显示地球的一小部分,MKMapPointsPerMeterAtLatitude(...)将为地图中涉及的所有纬度提供大致相同的常数值。在这种情况下,您可以简单地使用地图中间的纬度作为此函数的参数。

答案 2 :(得分:0)

另请参阅文档中的墨卡托投影用于转换。这是一个额外的观察:北极(y)轴方向似乎与标准墨卡托投影的方向相反(正方向向下而不是向上)。