3

ローカル データベースからタイルを表示していますMKMapViewMKTileOverlayそれはうまくいっています。
次にMKDirections、2つの座標間の方向を取得し、そのようなルートを描画していました:

MKRoute *route = response.routes.lastObject;
MKPolyline *polyline = route.polyline;

// Draw path on overlay
[self.mapView insertOverlay:polyline aboveOverlay:self.tileOverlay];

しかし、ズームして線を表示すると、タイルの背景なしで表示されます (通常は からロードされますMKTileOverlay(に格納されますself.tileOverlay))。よく見えるように画像を結合しました。

また、オーバーレイをレンダリングするために次のコードを作成しました。

- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay {
    if ([overlay isKindOfClass:[MKTileOverlay class]]) {
        return [[MKTileOverlayRenderer alloc] initWithTileOverlay:overlay];
    }
    else if ([overlay isKindOfClass:[MKPolyline class]]) {
        MKPolylineRenderer *lineView = [[MKPolylineRenderer alloc] initWithOverlay:overlay];
        lineView.strokeColor = [UIColor greenColor];
        lineView.lineWidth = 3;
        return lineView;
    }
    return nil;
}

からロードされたタイルを非表示にする線をレンダリングする「タイル」のようなものMKTileOverlayです。どうすればいいですか :
-MKPolylineオーバーレイが透明でなければならないことを指定しますか?
- 背景タイルをリロードしますか?

スクリーンショット:

背景がなくなった線のあるタイルを参照してください http://sigmanet.ch/tmp/screen.png

4

2 に答える 2