この質問が以前に出されたのを見たことがありますが、すべての回答はほぼ同じように見えます。ただし、プロジェクトでそれらを機能させることができません。
ボタンによってトリガーされるアクション 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 メソッドに表示される最初のコードを配置することが含まれていましたが、場所がまだ計算されていない (上記のアクション内でのみ決定されている) ため、これはオプションではありません。
お時間をいただき、ご協力いただければ幸いです。私はここにいる多くの人のレベルでは決してないので、これが明らかな答えを持っている場合はすみません. スプーンで食べたくない、学びたい!読んでくれてありがとう。