如何更改标记图标?

我想知道是否有办法改变那些用作标记的红色针脚。 如果有办法,该怎么做?

您可以在mapView中使用3种类型的颜色引脚。

  1. MKPinAnnotationColorGreen;
  2. MKPinAnnotationColorPurple
  3. MKPinAnnotationColorRed

如果要添加自定义视图或图像,则可以以编程方式添加

你也可以在MKMapView委托方法中修改pin如下…

 - (MKAnnotationView *)mapView:(MKMapView *)_mapView viewForAnnotation:(id )annotation { MKPinAnnotationView *pinView = (MKPinAnnotationView *)[_mapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID]; pinView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease]; if (annotation == _mapView.userLocation) { // pinView.pinColor = MKPinAnnotationColorRed; // return pinView; return nil; } pinView.pinColor = MKPinAnnotationColorGreen; // you can use MKPinAnnotationColorPurple, MKPinAnnotationColorRed; pinView.canShowCallout = YES; pinView.animatesDrop = NO; return pinView; } 

对于自定义图像或引脚,请使用以下代码..

 - (MKAnnotationView *)mapView:(MKMapView *)_mapView viewForAnnotation:(id )annotation { static NSString *AnnotationViewID = @"annotationViewID"; MKAnnotationView *annotationView = (MKAnnotationView *)[_mapView dequeueReusableAnnotationViewWithIdentifier:AnnotationViewID]; if (annotationView == nil) { annotationView = [[[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:AnnotationViewID] autorelease]; } annotationView.image = [UIImage imageNamed:@"yourImageName"];//add any image which you want to show on map instead of red pins annotationView.annotation = annotation; return annotationView; }