所以我按照惯例绘制了一个MKPolyline,用户更新了CLLocationCoordinates。当我再次退出并重新开始时,所有过去的点都会加载到mapview上以显示
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,但总是把它放在地图的顶层,即使它改变了吗?
答案 0 :(得分:0)
而不是:
[_mapView addOverlay:_rasterOverlay];
你想:
[_mapView insertOverlay:_rasterOverlay belowOverlay:routeLine];
或类似的东西。叠加层有订单。