繁体   English   中英

将叠加层添加到viewcontroller.m中的现有引脚

[英]add overlays to existing pins in viewcontroller.m

我是编程和obj-c的新手,目前正在开发基于地图的iPhone应用程序,该应用程序将查找不同的运动设施。 我希望每个图钉显示一个不同的覆盖图,例如图片覆盖图会很好,我将图片添加到资源文件夹中,并且我希望每个图钉通过单击显示不同的图片。 我的示例仅包含一个带有其坐标的图钉。 现在,我已经知道从哪里开始,希望您能帮助我!

提前致谢 :)

这是我的代码:

[mapView addAnnotation:[MapLocation mapLocationtWithTitle:@"Beckomberga Sim och Sporthall" subtitle:@"Söderberga Allé 80" andCoordinate:(CLLocationCoordinate2D){ 59.35817, 17.89740 }]]; 
}

-(MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
 if([annotation isKindOfClass:[MapLocation class]])
 {
  MKPinAnnotationView *pin = [[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"PinAnnotation"];
  pin.canShowCallout = YES;
  pin.animatesDrop = NO;
  pin.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];


   pin.pinColor = MKPinAnnotationColorRed;

   pin.pinColor = MKPinAnnotationColorGreen;

  [pin autorelease];
  return pin;
 }
 return nil;
}

维克多

这是您需要做的:

  • 创建一个MKAnnotation的子对象,它将代表您的位置,SportsFacilityLocation
  • 该对象将包含标题,字幕和位置字段。 这符合MKAnnotation协议
  • 接下来,您需要一个对象,该对象将是MKAnnotationView,SportsFacilityMapView的子类。
  • 最后,在您的viewForAnnotation委托方法中,您需要检查每种注释类型,然后从该注释类型中确定要返回SportsFacilityMapView

查看有关如何实施Annotation的文档,然后查看AnnotationView。 我在家中有一些示例代码,如果需要的话我会在稍后发布。 祝好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM