检查用户位置是否在地图iphone上可见

ale*_*ine 6 iphone mapkit userlocation

我想隐藏或显示UIButton天气用户的当前位置在地图上可见.在测试代​​码xcode时,"User location view is NOT visible but should be. Showing...."如果用户位置在地图上不可见,我可以在"didUpdateLocation"方法中看到控制台上的meassage.如何在我的案例中使用此消息生成事件以隐藏或显示UIButton?在此先感谢您的帮助.

小智 14

如果要知道用户位置是否包含在当前显示的地图区域中,可以userLocationVisibleregionDidChangeAnimated委托方法中检查属性:

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

如果您只想知道用户位置当前是否具有值(是否可见以及showsUserLocation是否打开),则:

if (mapView.userLocation.location == nil)
    NSLog(@"user location not obtained yet");
else
    NSLog(@"user location available (may or may not be currently visible)"):
Run Code Online (Sandbox Code Playgroud)