2016-05-25 5 views
0

2点の間にポリラインを隠す必要があります。私のプロジェクトでは、トランスポートの詳細を持つMKMapビューを使用します(カー、バイク、ウォーキングのように)。主な機能は次のとおりです。「ユーザーが車の方向ボタンをクリックすると、ポリラインは2つのポイント間のカールートを描画し、ユーザーが歩行をクリックすると2つのポイント間にラインを描画し、カールートのポリラインを非表示にする」。これが条件です。MKMapViewの2つのパイント間のポリラインを削除します

私はすべてのルートでポリラインを描画しますが、上記の機能に基づいてポリラインを隠す方法はわかりません。私はポリラインを隠すためにいくつかのことを試みましたが、それは "lay over lay"のように私に働きかけました。ここで

Here is my drawing poly line functionality Code: 

-(void)showRoute:(MKDirectionsResponse *)response 
{ 
    for (MKRoute *route in response.routes) 
    { 
    [self.kioskDir_mapView 
    addOverlay:route.polyline level:MKOverlayLevelAboveLabels]; 

    for (MKRouteStep *step in route.steps) 
    { 
     NSLog(@"%@", step.instructions); 
    } 
} 
    } 

- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id <MKOverlay>)overlay 
    { 
    MKPolylineRenderer *renderer = 
    [[MKPolylineRenderer alloc] initWithOverlay:overlay]; 
    renderer.strokeColor = [UIColor greenColor]; 
    renderer.lineWidth = 3.0; 

     self.kioskDir_mapView.visibleMapRect = [self.kioskDir_mapView   mapRectThatFits:overlay.boundingMapRect]; 

return renderer; 
     } 

Here i attach the screen shot. which is showing with two line car route and walking route. i want to hide the car route.

私はすでにマップビューで線を描く場合、ポリラインを非表示にする必要があります。誰も私にこれを手伝うことができますか?ありがとう。

+0

[mapView removeOverlays:mapView.overlays]; – 7vikram7

+0

動作しませんでした。まだそれは2つのルートを示しています – sarosar

答えて

0

MKOverlayRendererデリゲートから次の行を削除します。

"self.kioskDir_mapView.visibleMapRect = [self.kioskDir_mapView mapRectThatFits:overlay.boundingMapRect]; "

は、それが正常に動作します。この行を削除します。

関連する問題