0

mkmapview をプログラムで初期化するビュー コントローラーがあり、ビュー コントローラーを mkmapview のデリゲートに設定します。また、この mapview は、View Controller クラスの scrollview にサブビューとして追加されます。

mkmapview に mkpolyline を追加すると、

 - (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay

ただし、ビューコントローラーがロードされたときにviewforoverlayは呼び出されませんが、mapviewをクリック/タッチしてドラッグ/移動すると呼び出されます

4

2 に答える 2

-1

MKPolylineView オーバーレイを追加した後に、次の行を追加してみてください。

[myMapView setNeedsRedisplay];

これは、マップにルートを追加する方法です。

-(void)drawRoute
{
    ...

    routeLine = [MKPolyline polylineWithPoints:pointArr count:totalPoints];

    [geoMap addOverlay:routeLine];

    ....
}

-(MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay
{    
    MKPolylineView *lineView = [[[MKPolylineView alloc] initWithPolyline:overlay] autorelease];

    UIColor *lineColor = [[UIColor alloc] initWithRed:0 green:0 blue:0 alpha:1.0];

    lineView.fillColor = lineColor;
    lineView.strokeColor = lineColor;

    [lineColor release];

    lineView.lineWidth = 12;   
    lineView.alpha = 1;
    return lineView;
}
于 2012-10-26T05:59:57.780 に答える