图像而不是iPhone的MapKit框架中的默认引脚?

时间:2009-09-29 14:15:52

标签: iphone google-maps mapkit

在iPhone上的MapKit地图中是否可以拥有自己的图像而不是默认图钉?

我正在开发一个应用程序,它可以像谷歌纵横一样显示朋友的位置,并且需要在他们的位置显示朋友的图像。

可以使用JavaScript Google Map,但我想知道是否有人可以为基于MapKit的地图提供一些示例代码。

3 个答案:

答案 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];