1

この質問が以前に出されたのを見たことがありますが、すべての回答はほぼ同じように見えます。ただし、プロジェクトでそれらを機能させることができません。

ボタンによってトリガーされるアクション updateMap があります。マップ (MapKit) に現在の場所を表示し、その場所に関連するその他の情報 (ジオコーディング) を表示します。それはすべてうまくいきます。私がしなければならないことは、地図上に彼らの位置の周りの半径を表示することです. これが私が試していることですが、うまくいきません:

(updateMap 内)

//display radius
CLLocationCoordinate2D center = {current.coordinate.latitude, current.coordinate.longitude};
MKCircle *circle = [MKCircle circleWithCenterCoordinate:center radius:1000];
[self.mapView addOverlay:circle];

(「現在」は、ユーザーの現在の場所を持つ CLLocation 変数です)

次に、実装ファイルのアクションの後、次のようになります。

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id<MKOverlay>)overlay
{
    MKCircleView *circleView = [[MKCircleView alloc] initWithOverlay:overlay];
    [circleView setFillColor:[UIColor redColor]];
    [circleView setStrokeColor:[UIColor blackColor]];
    [circleView setAlpha:0.5f];
    return circleView;
}

それは問題なく構築されますが、マップに円が表示されることはありません。

このサイトの他の解決策には、viewDidLoad メソッドに表示される最初のコードを配置することが含まれていましたが、場所がまだ計算されていない (上記のアクション内でのみ決定されている) ため、これはオプションではありません。

お時間をいただき、ご協力いただければ幸いです。私はここにいる多くの人のレベルでは決してないので、これが明らかな答えを持っている場合はすみません. スプーンで食べたくない、学びたい!読んでくれてありがとう。

4

0 に答える 0