在MKMapView IOS 7中绘制多边形是不正确的

时间:2014-04-21 10:40:20

标签: ios7 mkmapview

MKMapView中,我使用以下几点创建了一个多边形:

1- lat = 0.0; long = -170;
2- lat = 0.0; long =  170;
3- lat = 10; long = 180;

前两个点相距仅20度,但MKMapView将其绘制在世界其他方向(相隔170 + 170 = 340度)。

有没有解决这个问题?

1 个答案:

答案 0 :(得分:2)

我很惊讶你在iOS 7中遇到了这个问题,因为它们比以前的版本更好地处理了子午线。在iOS 7中,以下内容:

CLLocationCoordinate2D coordinates[3];
coordinates[0] = CLLocationCoordinate2DMake(0, -170);
coordinates[1] = CLLocationCoordinate2DMake(0, 170);
coordinates[2] = CLLocationCoordinate2DMake(10, 180);
MKPolygon *polygon = [MKPolygon polygonWithCoordinates:coordinates count:3];
[self.mapView addOverlay:polygon];

生成(假设您实现了典型的rendererForOverlay):

enter image description here

在以前的iOS版本中执行此操作,可能无法正确处理此问题,但在iOS 7中,您应该没问题。如果您仍然遇到问题,也许您可​​以分享您生成此多边形的方式。

相关问题