6

UIButton 天気予報ユーザーの現在の場所が地図上に表示されていることを非表示または表示したい。コード xcode のテスト中に"User location view is NOT visible but should be. Showing...."、ユーザーの場所がマップ上に表示されない場合、「didUpdateLocation」メソッドでコンソールにメッセージが表示されます。このメッセージを使用して、UIButton を非表示または表示するイベントを生成するにはどうすればよいですか? 事前に助けてくれてありがとう。

4

3 に答える 3

14

ユーザーの場所が現在表示されているマップ領域に含まれているかどうかを知りたい場合は、デリゲート メソッドuserLocationVisibleでプロパティを確認できます。regionDidChangeAnimated

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
{
    someButton.hidden = !mapView.userLocationVisible;
}

ユーザーの場所に現在値があるかどうか (表示されているかどうか、showsUserLocation がオンになっているかどうか) だけを知りたい場合は、次のようにします。

if (mapView.userLocation.location == nil)
    NSLog(@"user location not obtained yet");
else
    NSLog(@"user location available (may or may not be currently visible)"):
于 2011-09-06T13:21:11.903 に答える
4

userLocationVisible というプロパティがあります。

Apple ドキュメントで

デバイスの現在の位置がマップ ビューに表示されるかどうかを示すブール値。(読み取り専用)

于 2011-09-06T13:20:42.263 に答える
1

ユーザーの場所が表示されていない場合、現在のlat、longは取得されません。lat、long == 0の場合に条件を設定します。次に、ボタンを非表示または表示します。デバイス(gps)でのみ動作します

于 2011-09-06T12:55:14.803 に答える