2012-01-08 5 views
0

リンゴのドキュメントを見ると、ちょっと混乱します。iOS 4.2ではCLGeocoderがサポートされていますか?

  • 一方で、彼らはCLGeocoderがのiOS 5以降から使用できることを示す書類を持っています。
  • 一方、彼らのようなステートメントを持っている:約4.2以降の範囲何その後
  • のiOS 4.1およびそれ以前の上で実行中のアプリケーションの場合、あなたはMKReverseGeocoderクラスを使用して逆ジオコーディング要求を実行しなければならない」と?それはCLGeocoderをサポートすることができますか?

誰もがCLGeocoderが仕事をしたりしませんならば、彼らは考え出した場所に設置4.1 <バージョン< 5.0とiPhoneとの最初の手の経験を通じて答えを持っていますか?ここで

答えて

1

現在、私は[instancesRespondToSelector] [CLGeocoderクラス:@selector(reverseGeocodeLocation:completionHandler :)] を呼び出す

これはいつも私はまだ理由として把握しようとしている5.0

以下のデバイスでfalseを返しますマニュアルは4.1以降でサポートされています。

+0

デバイスの実際の使用状況とその結果に関する情報をありがとう。うーん、ドキュメントは、それからぶら下がっている必要があります:( – pulkitsinghal

0

Location Awareness Programming Guideからの引用です:iOS版で

、あなたは逆ジオコーディング要求を処理するためにCLGeocoderまたはMKReverseGeocoderクラス のいずれかを使用することができます。 CLGeocoderは、使用するのに好ましい クラスであり、iOS 5.0以降で使用できます。ただし、 アプリケーションを以前のバージョンのiOSで実行する必要がある場合は、 MKReverseGeocoderクラスを使用できます。

MKReveresGeocoderはまだ5.0にありますが、非推奨です。つまり、コード内で複数のiOSバージョンのサポートを簡素化するためにこれを使用することができます。

+0

ありがとう、私の質問は、実際にそのガイドに基づいています。 CLGeocoderが4.1と5.0の間のsdksに存在する可能性があるかどうかを尋ねています。私の質問をもっと詳しく見て、私に知らせてください。 – pulkitsinghal

+0

私は確かに分かりません。しかし、すべてのドキュメント(Location AwarenessガイドとCLGeocodeクラスリファレンスの両方)は、5.0以降でのみ利用可能であることを複数の場所で示しています。あいまいな言葉が引用されている場所は1つだけです。しかし、なぜあなたは気にしますか? – fishinear

+0

私はCLGeocoderだけで動作するようにしたいのですが、それは5.0以上4.2以上でも可能です。それ以前は何もサポートしていない。 – pulkitsinghal

0
- (IBAction)geoCodeLocation:(id)sender{ 
    [self.geoCoder reverseGeocodeLocation: locationManager.location completionHandler: 
    ^(NSArray *placemarks, NSError *error) { 
     CLPlacemark *placemark = [placemarks objectAtIndex:0]; 
     NSLog(@"placemark %@",placemark); 
     //String to hold address 
     NSString *locatedAt = [[placemark.addressDictionary valueForKey:@"FormattedAddressLines"] componentsJoinedByString:@", "]; 
     NSLog(@"addressDictionary %@", placemark.addressDictionary); 

     NSLog(@"placemark %@",placemark.region); 
     NSLog(@"placemark %@",placemark.country); // Give Country Name 
     NSLog(@"placemark %@",placemark.locality); // Extract the city name 
     NSLog(@"location %@",placemark.name); 
     NSLog(@"location %@",placemark.ocean); 
     NSLog(@"location %@",placemark.postalCode); 
     NSLog(@"location %@",placemark.subLocality); 

     NSLog(@"location %@",placemark.location); 
      //Print the location to console 
     NSLog(@"I am currently at %@",locatedAt); 

     //Set the label text to current location 
     [locationLabel setText:locatedAt]; 

    }]; 
For more see property of CLPlacemark Link : http://developer.apple.com/library/ios/#DOCUMENTATION/CoreLocation/Reference/CLPlacemark_class/Reference/Reference.html (Support in iOS 5.0 because in previous MKReverseGeocoder is deprecated) 
関連する問題