Ale*_*dro 9 mkpinannotationview mkmapview ios
我以这种方式向地图添加注释:
MyAnnotation *annotationPoint2 = [[MyAnnotation alloc] init];
annotationPoint2.coordinate = anyLocation;
annotationPoint2.title = [NSString stringWithFormat:@"%@", obj];
annotationPoint2.subtitle = @""; //or set to nil
annotationPoint2.keyValue = [NSString stringWithFormat:@"%@", key];
[mapPins addAnnotation:annotationPoint2];
Run Code Online (Sandbox Code Playgroud)
针脚都是红色的,我希望它们都是绿色的.我怎样才能改变颜色?我尝试了以下内容,但仍然给出了红色标记:
annotationPoint2.pinColor = MKPinAnnotationColorGreen;
Run Code Online (Sandbox Code Playgroud)
cas*_*las 21
- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>) annotation
{
MKPinAnnotationView *annView=[[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:@"pin"];
annView.pinColor = MKPinAnnotationColorGreen;
return annView;
}
Run Code Online (Sandbox Code Playgroud)
小智 6
该pinColor属性在MKPinAnnotationView类(不是MKAnnotation协议)中定义.
您MKPinAnnotationView在viewForAnnotation委托方法中创建一个.如果您尚未实现该委托,则默认情况下会获得标准红色引脚.
在该委托方法中,您可以创建一个实例,MKPinAnnotationView并可以将其设置pinColor为绿色.
Swift3是这样的:
func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
let annotationView = MKPinAnnotationView(annotation: annotation, reuseIdentifier: "pin")
if annotation.title! == "My Place" {
annotationView.pinTintColor = UIColor.green
} else {
annotationView.pinTintColor = UIColor.red
}
return annotationView
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18067 次 |
| 最近记录: |