在MKMapView
中,我使用以下几点创建了一个多边形:
1- lat = 0.0; long = -170;
2- lat = 0.0; long = 170;
3- lat = 10; long = 180;
前两个点相距仅20度,但MKMapView将其绘制在世界其他方向(相隔170 + 170 = 340度)。
有没有解决这个问题?
答案 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
):
在以前的iOS版本中执行此操作,可能无法正确处理此问题,但在iOS 7中,您应该没问题。如果您仍然遇到问题,也许您可以分享您生成此多边形的方式。