我想要一个带有两个不同叠加层的 MKMapView。
首先,我有一个“地图上的图像叠加层”(TileOverlay),其次我想在地图上绘制一条路线作为叠加层。
如果我在两个不同的项目中执行此操作,一切正常(一个带有图像叠加层,另一个带有路径叠加层)
现在,我想知道如果我合并我的项目,viewForOverlay 委托函数应该是什么样子?
对于我的图像(平铺)覆盖,我目前看起来像这样:
- (MKOverlayView *) mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay
{
TileOverlayView *tileView = [[TileOverlayView alloc] initWithOverlay:overlay];
tileView.tileAlpha = 1.0;
return tileView;
}
对于我的路线 Overlay,它看起来像这样:
- (MKOverlayView*)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay
{
MKPolylineView *polylineView = [[MKPolylineView alloc] initWithPolyline:overlay];
polylineView.lineJoin = kCGLineJoinRound;
polylineView.strokeColor = [[UIColor blueColor] colorWithAlphaComponent:0.4];
return polylineView;
}
现在,如果我想将这些“合并”(到一个项目中),这种方法应该是什么样子?
- (MKOverlayView*)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay
{
//what comes here?
}