0

所以我需要在这里做的是,我需要在地图上显示两个用户位置,并使用默认蓝色大理石掉落。

任务是,用户 A 将每 5-10 秒将当前位置坐标上传到网络服务器,从那里用户 B 将每 5-10 秒拉出该位置。因此,在 MKMapView 上,用户 B 将使用默认位置注释显示他自己的当前位置,但我还需要使用一些注释在用户 B 的 mapView 上显示用户 A 的位置。

现在我不能使用 Pin Annotation,因为该位置将每 5-10 秒更新一次。必须为第二个用户的拉动位置显示默认用户注释(蓝色大理石滴),以便用户可以知道第二个用户的位置不是静态的,而是移动的。Pin Annotation 暗示该位置是静态的。

我怎样才能做到这一点?

4

1 回答 1

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;
}

这是 BlueMarbleDrop.png

于 2012-10-18T09:32:29.167 回答