2009-09-29 57 views
6

是否可以在iPhone上使用MapKit地圖中的自定義圖像而不是默認圖釘?圖像而不是iPhone的MapKit框架中的默認引腳?

我正在開發一個應用程序,該應用程序可以像Google Latitude一樣顯示朋友的位置,並且需要在他們的位置顯示朋友的圖像。

它可以使用JavaScript谷歌地圖,但我想知道是否有人可以給一些基於MapKit的地圖示例代碼。

回答

14

是的,這是可能的。 因爲你必須使用MKAnnotationView而不是MKPinAnnotationView。 並且不要使用annotation.animatesDrop屬性。

下面是示例代碼,你可以在viewForAnnotation使用,

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

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


    return annotation; 
+0

謝謝。它做了詭計。不能相信我篤定地弄清楚這樣一個簡單的伎倆。 –

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"]; 
0

通過使用範圍屬性,你可以很容易地放大到你需要

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