我有一个MapView,我试图在当前坐标上添加一个注释。
我在viewWillAppear中的代码:
CLLocationCoordinate2D location;
location.latitude = [maps.barLat doubleValue];
location.longitude = [maps.barLong doubleValue];
[_mapView addAnnotation:location];
我在addAnnotation
上发现了一个错误
将CLLocationCoordinate2D发送到不兼容类型MKAnnotation的参数。
我看到的所有其他例子都没有这个代码的问题,我遗漏了什么?
发布于 2012-07-20 02:15:30
如果您查看苹果的API文档,addAnnotation:
方法将使用id<MKAnnotation>
,而不是CLLocationCoordinate2D
。这就是你犯错的原因。
如果您只想要一个简单的注释,而不需要任何花哨的铃铛或口哨,只需这样做:
CLLocationCoordinate2D location;
location.latitude = [maps.barLat doubleValue];
location.longitude = [maps.barLong doubleValue];
MKPointAnnotation *annotation = [[MKPointAnnotation alloc] init];
annotation.coordinate = location;
[_mapView addAnnotation: annotation];
然而,大多数人最终创建了自己的实现MKAnnotation
协议的类,以提供自定义注释。但是,如果你只需要一个别针,上面的工作。
https://stackoverflow.com/questions/11571630
复制相似问题