所以我画了一条 MKPolyline,用户像往常一样更新了 CLLocationCoordinates。当我退出并重新开始时,所有过去的点都加载到地图视图上以显示
routeLine = [MKPolyline polylineWithCoordinates:clCoordinates count:numberOfSteps];
[_mapView addOverlay:routeLine];
在 MKOverlayRenderer 方法中我有
if ([overlay isKindOfClass:[MKPolyline class]])
{
MKPolylineRenderer *renderer = [[MKPolylineRenderer alloc] initWithPolyline:overlay];
renderer.strokeColor = [[UIColor whiteColor] colorWithAlphaComponent:0.7];
renderer.lineWidth = 3;
return renderer;
}
这一切都是一种享受,但是当我更改地图类型时会出现问题
[self resetMapViewAndRasterOverlayDefaults];
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
_rasterOverlay = [[MBXRasterTileOverlay alloc] initWithMapID:@"jonobolitho.j834jdml"];
_rasterOverlay.delegate = self;
[_mapView addOverlay:_rasterOverlay];
注意,我有 resetMapViewAndRasterOverlayDefaults 辅助方法
// Reset the MKMapView to some reasonable defaults.
//
_mapView.mapType = MKMapTypeStandard;
_mapView.zoomEnabled = YES;
[_mapView removeAnnotations:_rasterOverlay.markers];
[_mapView removeOverlay:_rasterOverlay];
[_rasterOverlay invalidateAndCancel];
我正在使用 MBXMapKit 来显示地图。地图显示正确,但折线未显示在地图顶部。地图刚刚加载到我的折线(routeLine)的顶部。我知道这一点,因为在新地图的图块之间,我可以看到下面的 routeLine。
所以基本上有没有办法加载 MKPolyline 但始终将其保留在地图的顶层,即使它发生变化?