本文介绍了地图与Instagram照片地图等照片的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我正在尝试使用Instagrams Photo Map创建一张带有照片的地图。I'm trying to create a Map with photos kind of like Instagrams Photo Map.图片地图: http:// i .stack.imgur.com / B0wDa.jpg如何将图像(从Parse加载)到注释,如上面的屏幕截图?How can I get the Image (loaded from Parse), to the annotation, like in the screenshot above?这是我到目前为止所得到的: MapViewController.mAnd this is what I got so far:MapViewController.m[PFGeoPoint geoPointForCurrentLocationInBackground:^(PFGeoPoint *geoPoint, NSError *error) { PFQuery *query = [PFQuery queryWithClassName: @"HomePopulation"]; [query whereKey:@"geopoint" nearGeoPoint:geoPoint withinKilometers:3000]; [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { if (!error) { for (PFObject *object in objects) { PFGeoPoint *thePoint = [object objectForKey:@"geopoint"]; latitude = thePoint.latitude; longitude = thePoint.longitude; NSLog(@" Hej %f, %f", latitude, longitude); CLLocationCoordinate2D annotationCoordinate = CLLocationCoordinate2DMake(latitude, longitude); Annotation *annotation = [[Annotation alloc] init]; annotation.coordinate = annotationCoordinate; annotation.title = [object objectForKey:@"discovery"]; annotation.subtitle = [object objectForKey:@"location"]; PFFile *image = [object objectForKey:@"imageFile"]; annotation.imageView.file = image; [annotation.imageView loadInBackground]; [self.theMap addAnnotation:annotation]; [self.theMap setCenterCoordinate:annotation.coordinate animated:YES]; [self setNeedsStatusBarAppearanceUpdate]; } } }]; }];任何帮助表示赞赏。 MarkoAny help appreciated.Marko推荐答案在此讨论的帮助下:自定义注释具有相同的图像我出来了:I came out with this:以下是代码:MapViewController.h#import <UIKit/UIKit.h>#import <MapKit/MapKit.h>#import <Parse/Parse.h>@interface MapViewController : UIViewController <MKMapViewDelegate>@property double latitude;@property double longitude;@endMapViewController.m- (void)viewDidLoad{ [super viewDidLoad]; [self.navigationController setNavigationBarHidden:YES animated:YES]; self.theMap.delegate = self; self.theMap.showsUserLocation = YES; [PFGeoPoint geoPointForCurrentLocationInBackground:^(PFGeoPoint *geoPoint, NSError *error) { PFQuery *query = [PFQuery queryWithClassName: @"HomePopulation"]; [query whereKey:@"geopoint" nearGeoPoint:geoPoint withinKilometers:1000]; [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { if (!error) { for (PFObject *object in objects) { PFGeoPoint *thePoint = [object objectForKey:@"geopoint"]; latitude = thePoint.latitude; longitude = thePoint.longitude; NSLog(@" Hej %f, %f", latitude, longitude); CLLocationCoordinate2D annotationCoordinate = CLLocationCoordinate2DMake(latitude, longitude); Annotation *annotation = [[Annotation alloc] init]; annotation.coordinate = annotationCoordinate; annotation.title = [object objectForKey:@"discovery"]; annotation.subtitle = [object objectForKey:@"location"]; annotation.objectID = object.objectId; [self.theMap addAnnotation:annotation]; } } }]; }]; //[self.theMap reloadInputViews];}- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation{ static NSString *identifier = @"theLocation"; if ([annotation isKindOfClass:[Annotation class]]) { MKPinAnnotationView *annotationView = (MKPinAnnotationView *)[self.theMap dequeueReusableAnnotationViewWithIdentifier:identifier]; if (annotationView == nil) { annotationView = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:identifier]; } else { annotationView.annotation = annotation; } annotationView.enabled = YES; //annotationView.canShowCallout = YES; UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(-40, -100, 100, 100)]; imageView.contentMode = UIViewContentModeScaleAspectFit; NSString *id = [(Annotation *)annotationView.annotation objectID]; PFQuery *query = [PFQuery queryWithClassName:@"HomePopulation"]; [query getObjectInBackgroundWithId:[NSString stringWithFormat:@"%@", id] block:^(PFObject *object, NSError *error) { PFFile *file = [object objectForKey:@"imageFile"]; [file getDataInBackgroundWithBlock:^(NSData *data, NSError *error) { imageView.image = [UIImage imageWithData:data]; }]; }]; annotationView.image = [UIImage imageNamed:@"pointer"]; [annotationView addSubview:imageView]; return annotationView; } return nil;}Annotation.h#import <Foundation/Foundation.h>#import <MapKit/MapKit.h>#import <Parse/Parse.h>@interface Annotation : NSObject <MKAnnotation>@property (nonatomic) CLLocationCoordinate2D coordinate;@property (nonatomic, copy) NSString *title;@property (nonatomic, copy) NSString *subtitle;@property (nonatomic, copy) NSString *objectID;@end 这篇关于地图与Instagram照片地图等照片的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
06-18 18:40