我想要做的是,我想在用户当前位置插入图像(图像的缩略图视图),我有用户当前位置,我已经设法在MKMapView上插入UIImageView并且还能够显示图像在它上面。
但我无法找到/做的事情是将图像放在用户的当前位置。
我们如何在MKMapView上的用户当前位置添加UIImageView,以便图像显示在用户的当前位置。
任何想法......?
谢谢你的时间..! :)
答案 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;