オブジェクトを設定しました。オーバーレイCLLocation
を追加しています。MKCircle
のradius
変数を次のMKCircle
2つに対して相対的なものにします。
- マップビューのサイズ
- 場所のサイズ
では、どうすれば?からある種のサイズ値を取得できますかCLLocation
?さらに良いことに、マップビューを操作/ズームインすると、自動的に拡大縮小されますか?これが私の目的の概要です:
マップビューにオーバーレイを追加します。オーバーレイはCLLocation
CLLocationCoordinate2D
可変になりますが、そのオーバーレイをその場所のサイズに合わせて、マップでズームインおよびズームアウトしたらサイズを変更する必要があります。これは自動的に行われるはずです。の半径変数を定義する必要があることはわかっていますMKCircle
が、どのように設定すればよいですか?だから、あなたたちは私がこれを行う方法を知っていますか?
ありがとう!
アップデート:
CLLocation *org = [[CLLocation alloc] initWithLatitude:coordO.latitude longitude:coordO.longitude];
CLLocation *des = [[CLLocation alloc] initWithLatitude:coordD.latitude longitude:coordD.longitude];
MKCircle *myCircle = [MKCircle circleWithCenterCoordinate:coordO radius:org.horizontalAccuracy];
MKCircle *myCircle2 = [MKCircle circleWithCenterCoordinate:coordD radius:des.horizontalAccuracy];
if (myCircle2 && myCircle) {
NSLog(@"destination and origin both valid");
}
[mapView addOverlays: [NSArray arrayWithObjects:myCircle, myCircle2, nil]];
[myCircle setTitle:@"Placeholder"];
[myCircle2 setTitle:@"Placeholder"];
[localOverlays addObjectsFromArray: [NSArray arrayWithObjects:myCircle, myCircle2, nil]];
これは、マップビューにオーバーレイを追加するために使用するすべてのコードですが、機能しませんが、オーバーレイ(MKCircle
円であると推測されます)は表示されません。HazardMap Appleサンプルコードを調べたところ、セットアップ用に他のいくつかのクラスが作成されたようです。これは必要ですか、私のコードの何が問題になっていますか。ありがとう!