ローカル データベースからタイルを表示していますMKMapView
。MKTileOverlay
それはうまくいっています。
次に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
オーバーレイが透明でなければならないことを指定しますか?
- 背景タイルをリロードしますか?
スクリーンショット: