Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Image instead of a the default pin in iPhone's MapKit framework?

Is it possible to have our own image instead of the default pin in MapKit map on iPhone?

I am working on an application which would show friends' locations much like Google Latitude and need to show image of friends at their locations.

It is possible using the JavaScript Google Map but i want to know if someone can give some sample code for MapKit based map.

like image 409
Chintan Patel Avatar asked Sep 29 '09 14:09

Chintan Patel


2 Answers

Yes it is possible. For that u have to use MKAnnotationView instead of MKPinAnnotationView. and do not use annotation.animatesDrop property.

Here are the sample code you can use in viewForAnnotation,

    annotation = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"try"];
    annotation.canShowCallout = YES;

    annotation.image = [UIImage imageNamed:@"image.png"];


    return annotation;
like image 58
Jay Vachhani Avatar answered Oct 07 '22 13:10

Jay Vachhani


You can also set the frame of the image. For that in above code we have to make this simple changes.

UIImage *pinImage = [UIImage imageNamed:@"image.png"];

UIImageView *imageView = [[[UIImageView alloc] initWithImage:pinImage] autorelease];

       imageView.frame = CGRectMake(-20, 0, 40, 30);

[annotation addSubview:imageView];

And we have to comment the line

// annotation.image = [UIImage imageNamed:@"image.png"];
like image 31
Dishant Avatar answered Oct 07 '22 13:10

Dishant