簡體   English   中英

CLLocationCoordinate2D到MKAnnotation

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM