[英]CLLocationCoordinate2D to MKAnnotation
我有一個MapView,我正在嘗試在當前坐標處添加一個Annotation。
我的代碼在viewWillAppear中:
CLLocationCoordinate2D location;
location.latitude = [maps.barLat doubleValue];
location.longitude = [maps.barLong doubleValue];
[_mapView addAnnotation:location];
我在addAnnotation
上遇到錯誤
將CLLocationCoordinate2D發送到不兼容類型MKAnnotation的參數。
我看到的所有其他示例對此代碼沒有任何問題,我缺少什么?
如果查看Apple的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
協議,以提供自定義注釋。 但是,如果您只需要一個引腳,上面的方法就可以了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.