mkmapview showsUserLocation



大家有问题吗?我想做的事。

if (Map.showsUserLocation == YES) 
        {
            Map.showsUserLocation = NO;
        }

这很简单。当应用程序刚刚启动时,showsUserLocation设置为YES,但设备需要时间才能找到位置。因此,如果用户在找到位置之前点击showsUserLocation = NO(在蓝点出现之前)。EXC_BAD_ACCESS。

在谷歌地图中,它有保护代码,在谷歌地图得到蓝点出现之前,它将通过显示activityIndicator来禁用您按下showsUserLocation按钮。知道怎么做吗?

MKMapViewDelegate有一个方法:

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation

你可以在这里启用按钮,在此之前保持禁用

你可以做得很舒服。禁用你的'currentLocation'按钮直到mapView获取用户的当前位置,然后'currentLocation'按钮当获取用户的当前位置。你可以通过在viewDidLoad/ViewDidAppear中禁用'currentLocation'按钮并在[mapView.userLocation setTitle:@"I am here"];之后在-(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:方法中启用'currentLocation'按钮来做到这一点。

相关内容

  • 没有找到相关文章

最新更新