2016-11-16 1 views
0

私はフォワードジオコードブロックを持っています。このような:NSArrayをMKPlacemarkに変換します

[_geoCoder geocodeAddressString:searchString completionHandler:^(NSArray *placemarks, NSError *error) {....}]; 

NSArray *目印でジオコードデータストアです。今私はマップにいくつかの注釈をしたいと思いますメソッドはMKPlacemarkを必要とするので、NSArrayのプレースマークをMKPlacemarkに変換するにはどうしたらいいですか?ありがとう。

+0

@vadian:いいえ、それはCLPlacemarkオブジェクトを含む:https://developer.apple.com/reference/corelocation/clgeocodecompletionhandler – moonman239

答えて

0

あなたがしたいことは次のとおりです。parameters配列を繰り返します。つまり、配列から各項目を取得します。アイテムを取得する際に、アイテムに含まれるデータを使用してMKPlacemarkオブジェクトを作成する必要があります。

Objective-C言語は私たちに、私たちは、配列を反復処理することを可能にする特別なツール提供します - 「forin」ループ:

for (CLPlacemark *placemark in placemarks) 
{ 
// insert code here 
} 

を、我々は「目印」からMKPlacemarkオブジェクトを作成します: (注:MKPlacemarkオブジェクト CLPlacemarkオブジェクトである)

MKPlacemark *mkPlacemark = [MKPlacemark initWithCoordinate:(CLLocationCoordinate2D)coordinate 
       addressDictionary:(NSDictionary<NSString *,id> *)addressDictionary;] 
関連する問題