所以我需要做的是,我需要在地图上显示默认蓝色大理石掉落的两个用户位置。
任务是,用户-A将每隔5-10秒将当前位置坐标上传到网络服务器,从那里用户-B将每隔5-10秒拉一个位置。因此,在MKMapView上,User-B将使用默认的位置注释显示自己的当前位置,但我还需要在User-B的mapView上显示User-A的位置并附带一些注释。
现在我无法使用Pin Annotation,因为该位置将每5-10秒更新一次。必须为第二个用户的拉出位置显示默认用户注释(蓝色大理石掉落),以便用户可以获得第二个用户的位置不是静态的,而是在移动中。 Pin Annotation表示该位置是静态的。
我怎样才能实现这一目标?
答案 0 :(得分:1)
-(void)updateLocation
{// this will update your location
NSString *latitude = @"0.0";
NSString *longitude=@"0.0";
MyAnnotation *ann = [[MyAnnotation alloc] initWithLatitude:latitude Longitude:longitude];
[self.theMapView removeAnnotations:[self.theMapView annotations]];
[self.theMapView performSelectorOnMainThread:@selector(addAnnotation:) withObject:ann waitUntilDone:YES];
MKCoordinateRegion region = MKCoordinateRegionMake(CLLocationCoordinate2DMake(0.0, 0.0), MKCoordinateSpanMake(0.1f, 0.1f));
[self.theMapView setRegion:region];
}
- (MKAnnotationView *) mapView:(MKMapView *)mapView1 viewForAnnotation:(id <MKAnnotation>) annotation{
// if it's the user location, just return nil.
if ([annotation isKindOfClass:[MKUserLocation class]])
return nil;
// try to dequeue an existing pin view first
static NSString* AnnotationIdentifier = @"AnnotationIdentifier";
MKAnnotationView *pinView = [[MKAnnotationView alloc]
initWithAnnotation:annotation reuseIdentifier:AnnotationIdentifier];
pinView.image = [UIImage imageNamed:@"BlueMarbleDrop"];
pinView.annotation = annotation;
return pinView;
}