在iPhone上的MapKit地图中是否可以拥有自己的图像而不是默认图钉?
我正在开发一个应用程序,它可以像谷歌纵横一样显示朋友的位置,并且需要在他们的位置显示朋友的图像。
可以使用JavaScript Google Map,但我想知道是否有人可以为基于MapKit的地图提供一些示例代码。
答案 0 :(得分:14)
是的,这是可能的。 为此,你必须使用MKAnnotationView而不是MKPinAnnotationView。 并且不要使用annotation.animatesDrop属性。
以下是您可以在viewForAnnotation中使用的示例代码,
annotation = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"try"];
annotation.canShowCallout = YES;
annotation.image = [UIImage imageNamed:@"image.png"];
return annotation;
答案 1 :(得分:2)
您还可以设置图像的边框。对于上面的代码,我们必须进行这些简单的更改。
UIImage *pinImage = [UIImage imageNamed:@"image.png"];
UIImageView *imageView = [[[UIImageView alloc] initWithImage:pinImage] autorelease];
imageView.frame = CGRectMake(-20, 0, 40, 30);
[annotation addSubview:imageView];
我们必须对该行进行评论
// annotation.image = [UIImage imageNamed:@"image.png"];
答案 2 :(得分:0)
通过使用span属性,您可以轻松缩放到您的需求
MKCoordinateSpan span;
MKCoordinateRegion region;
mapView.scrollEnabled=YES;
span.latitudeDelta = 100.0;//more value you set your zoom level will increase
span.longitudeDelta =100.0;//more value you set your zoom level will increase
mapView.showsUserLocation=YES;
region.span = span;
region.center = from.coordinate;
[mapView setRegion:region animated:YES];
[mapView regionThatFits:region];
[mapView addAnnotation:from];