如何在MKMapView上的用户当前位置添加UIImageView

时间:2012-09-25 09:30:39

标签: iphone ios uiimageview uiimage mkmapview

我想要做的是,我想在用户当前位置插入图像(图像的缩略图视图),我有用户当前位置,我已经设法在MKMapView上插入UIImageView并且还能够显示图像在它上面。

但我无法找到/做的事情是将图像放在用户的当前位置。

我们如何在MKMapView上的用户当前位置添加UIImageView,以便图像显示在用户的当前位置。

任何想法......?

谢谢你的时间..! :)

3 个答案:

答案 0 :(得分:2)

您可以使用Core Location框架来确定用户的当前位置。您将获得用户的当前位置作为纬度和经度(坐标)。完成此操作后,您可以在坐标的地图视图上添加注释(MKAnnotationView的实例)。

了解如何确定用户的位置 - Getting user's current location

在地图上添加注释 - Annotating Maps

编辑:

注释视图的自定义图像 - IOS: Adding image to custom MKAnnotationview

答案 1 :(得分:1)

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id < MKAnnotation >)annotation {

    if ([annotation isKindOfClass:[MKUserLocation class]]) {

 MKAnnotationView  *userannotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:nil];
            userannotationView.image = [UIImage imageNamed:@"your user image.png"];
            userannotationView.draggable = YES;
            userannotationView.canShowCallout = YES;


         return userannotationView;
    }else {
// your code to return annotationView or pinAnnotationView
}

答案 2 :(得分:0)

最初在UIImage *selectedImage文件中定义.h。 (使用UIImagePickerController。)应用其委托方法从相机胶卷中获取所选图像:

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    [picker dismissModalViewControllerAnimated:YES];
    selectedImage = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
}

然后在UIImage方法中指定相同的viewForAnnotation而不是“您的用户图片”,即

userannotationView.image = selectedImage;