안녕하세요 저는 파란색 GPS 위치 점 대신 사용자 정의 주석을 사용하고 있습니다. viewForAnnotation에서 맵에 추가했습니다. OurLocAnnotation 클래스는 MKAnnotation 대리자를 준수합니다.MKMapView iOS 사용자 정의 사용자 위치 주석이 표시/업데이트되지 않음
//Custom location view
if([annotation isKindOfClass:[OurLocAnnotation class]]) {
static NSString *identifier = @"currentLocation";
SVPulsingAnnotationView *pulsingView = (SVPulsingAnnotationView *)[self.recycleMap dequeueReusableAnnotationViewWithIdentifier:identifier];
if(pulsingView == nil) {
pulsingView = [[SVPulsingAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier];
pulsingView.annotationColor = [UIColor colorWithRed:0.678431 green:0 blue:0 alpha:1];
pulsingView.canShowCallout = YES;
}
return pulsingView;
}
표시 사용자 위치는이 링크에 따라 NO로 설정되어있는 viewDidLoad
내가 주석이 표시되지 않을되는이 문제에서 호출 Previous stackoverflow question 및 위치 업데이트를 시작 내가 주위를 이동해야 할 내 위치를 시작하여 업데이트하거나로드시 상태를 설정할 수 있습니까? 예 : 주석을 표시 한 다음 주석을 내 위치로 업데이트합니까? 주석에 하드 코딩 된 좌표 값을 표시하면 표시되지만 내 위치에 따라 원한다는 것을 원하지 않습니까?
- (void) locationManager:(CLLocationManager*) manager didUpdateToLocation:(CLLocation*)newLocation fromLocation:(CLLocation*)oldLocation
{
if (ourLocAnn == nil)
{
self.ourLocAnn = [[OurLocAnnotation alloc] init];
ourLocAnn.title = @"I am here";
ourLocAnn.coordinate = newLocation.coordinate;
[recycleMap addAnnotation:ourLocAnn];
}
else
{
ourLocAnn.coordinate = newLocation.coordinate;
}
UPDATE : 내가 내 위치에 대한 위치 관리자를 요청하여 아래처럼 내 위치를 표시 할 수 있습니다 바보입니다. 나는 방금 이동했을 때 내 위치가 업데이트되기를 바랍니다. ...
ourLocAnn = [[OurLocAnnotation alloc]init];
ourLocAnn.coordinate = clController.locMgr.location.coordinate;
[recycleMap addAnnotation:ourLocAnn];
게시 된 코드가 잘 보이고 newLocation.coordinate로 설정하면 효과가 있습니다. Debug \ Location \ FreewayDrive를 사용하여 시뮬레이터에서 테스트 할 수 있어야합니다. NSLog는 didUpdateToLocation에서 얻은 좌표입니다. – Anna
@AnnaKarenina 많은 것을 주셔서 감사합니다. 나는 시뮬레이터 방법을 시도하거나 그녀가 내 사용자 정의 사용자 위치 주석으로 ok를 업데이트하는지 살펴볼 것입니다. –
@AnnaKarenina 모든 작품을 확인할 수 있으며, 덕분에 작품을 만들 수있는 단서를 제공했습니다 .... –