1

여기에 질문이 있습니다. 나는하려고하고있다.mkmapview showsUserLocation

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

이것은 다소 간단합니다. 앱이 방금 시작한 때 showsUserLocation이 YES로 설정되었지만 기기가 위치를 찾는데 시간이 걸립니다. 따라서 사용자가 위치를 찾기 전에 (파란색 점이 나타나기 전에) showsUserLocation = NO을 클릭하면 EXC_BAD_ACCESS.

Google지도에서 보호 코드가 있습니다. Google지도가 파란색 점을 표시하기 전에 activityIndicator를 표시하여 showsUserLocation 버튼을 누르지 못하도록합니다. 어떻게해야할까요? 미리 감사드립니다.

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

당신은 그때까지 비활성 상태를 유지, 여기에 버튼을 활성화 할 수 있습니다

+0

나는 완전히 이해하지 못했습니다. 뭐하고 싶어??? – alecnash

답변

1

MKMapViewDelegate는 방법이있다.

+0

감사합니다. 나는이 방법을 안다. 하지만 제 두뇌는 이런 종류의 생각을 할 수 없습니다. – user774150

0

아주 편하게 할 수 있습니다. 사용자의 현재 위치를 가져올 때까지 'currentLocation'버튼을 비활성화하고, 현재 위치를 가져올 때 'currentLocation'버튼을 클릭합니다. viewDidLoad/ViewDidAppear에서 'currentLocation'버튼을 비활성화하고 메소드에서 'currentLocation'버튼을 활성화하면 [mapView.userLocation setTitle:@"I am here"]; . 이것은 당신을 위해 작동합니다.