2013-10-19 111 views
3

我正在使用iPhone的應用程序,我需要在其中顯示不同位置的POIs引腳。我需要在第一個POI上顯示默認彈出的標註。我已經設法爲iOS6做到這一點,但在iOS7中面臨問題。我在下面寫我的代碼,它在iOS6上運行良好,但在iOS7上運行得不錯。它沒有顯示任何錯誤,但是對於iOS7, ,我無法在默認情況下調出地圖POI上的彈出窗口。selectAnnotation方法的Mapview不適用於iOS7

這裏是我的代碼部分:

DDAnnotation *annotation2 = [[DDAnnotation alloc] initWithCoordinate:coordinates addressDictionary:nil] ; 
     annotation2.title = [[arrPOIs objectAtIndex:0] objectForKey:@"Name"]; 
     annotation2.subtitle = [[arrPOIs objectAtIndex:0] objectForKey:@"AmbassadorTagline"]; 
     annotation2.dictionaryData = [arrPOIs objectAtIndex:0]; 
     annotation2.strCountNumber = [NSString stringWithFormat:@"1"]; 

[mapView selectAnnotation:annotation2 animated:YES]; 
     [annotation2 release]; 
     annotation2 = nil; 

請顧得上我,如果你有任何想法/建議。

+0

是來自https://github.com/digdog/MapKitDragAndDrop的'DDAnnotation'嗎?這已經有好幾年沒有更新過了。也許它與iOS 7 – oefe

+0

不兼容,請顯示正確的代碼在mapView上添加註釋的方式/位置。 – AJPatel

回答

2

我用ios7此代碼,這是很好的

第一

#import <MapKit/MapKit.h> 

然後在

viewDidLoad中

添加以下代碼

CLLocationCoordinate2D annotationCoord; 
annotationCoord.latitude = someLocation; 
annotationCoord.longitude = someLocation; 
MKPointAnnotation *annotationPoint = [[MKPointAnnotation alloc] init]; 
annotationPoint.coordinate = annotationCoord; 
annotationPoint.title = @"YourTitle"; 
annotationPoint.subtitle = @"YourSubtitle"; 
[map addAnnotation:annotationPoint]; 
+0

感謝阿卜杜拉,我找到了解決方案。我錯過了在選擇註釋之前添加一行。即: [mapView addAnnotation:annotationPoint]; 令人驚訝的是它沒有受到iOS6的影響。這個問題只出現在iOS7上。 – user2897266

1

我檢查這個方法DDAnnotaion也用簡單的MapView的下降註解它`工作的iOS 7 *可以在下列情況

1) Annotation is not visible on mapView. 
2) Annotation is not yet created/added to mapView. 

可能性所以請檢查。或提供完整的代碼,說明如何以及在哪裏添加註釋。

請查看討論點here.瞭解更多信息。

+0

感謝AJPatel爲您的答案。在我的情況下,它是沒有 - 「2」受到影響。我錯過了在選擇前添加它。 – user2897266

+0

是的,我知道。你有沒有檢查你的整個代碼,出於這個原因,它適用於iOS 6。 – AJPatel

1

感謝所有。最後,我找到了我的問題的解決方案。

我錯過了在選擇註釋之前添加一行,即: [mapView addAnnotation:annotationPoint];

奇怪的是它沒有受到iOS6的影響。這個問題只出現在iOS7上。

相關問題