-1
Add overlays
    myPolygon=[MKPolygon polygonWithCoordinates:points count:numberOfPoints];
    [self.mapView addOverlay:myPolygon];


remove overlay
    [self.mapView removeOverlay:myPolygon];

谢谢

4

1 回答 1

0

当你调用 removeOverlays: 时,地图视图会释放 MKOverlay 和 MKOverlayView 对象。

您在 myPolygon 中拥有自己对这些的引用。

if (myPolygon != nil) {
    [myPolygon release];  // <-- remove this
    myPolygon = nil;
}

if (myPolygon != nil) {
    [myPolygon release];  // <-- remove this
    myPolygon = nil;
}

或者

for (id<MKOverlay> overlayToRemove in mapView.overlays)
{
   if ([myPolygon isKindOfClass:[OverlayClassToRemove class]])
   {
       [mapView removeOverlay:myPolygon];
   }
}
于 2015-02-16T12:45:33.460 回答