6

是否可以在 iPhone 上使用我们自己的图像而不是 MapKit 地图中的默认图钉?

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

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

4

3 回答 3

14

是的,有可能。为此,您必须使用 MKAnnotationView 而不是 MKPinAnnotationView。并且不要使用 annotation.animatesDrop 属性。

以下是您可以在 viewForAnnotation 中使用的示例代码,

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

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


    return annotation;
于 2009-09-29T14:20:15.310 回答
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"];
于 2010-11-29T06:38:18.437 回答
0

通过使用 span 属性,您可以轻松缩放到您的要求

MKCoordinateSpan 跨度;

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];
于 2013-07-25T07:39:09.997 回答