4

これは私の最初のスタック投稿です。私はiOS開発に不慣れで、ジオコーディングのサポートが必要です。

特に、Appleのドキュメントによると、「返される目印オブジェクトの数は、提供される情報の特異性に大きく依存します。したがって、通り、市、県、国の情報を提供すると、通りや市の情報。」

したがって、アドレス文字列を提供するときに広範であると、(理論的には)複数の結果が返されるはずです。

例:

-(void)geocodeAddress {
CLGeocoder *geocoder = [[CLGeocoder alloc]init];
[geocoder geocodeAddressString:@"DMV, San Francisco, CA" completionHandler:^(NSArray *placemarks, NSError *error) {
    if (!error) {
        NSLog(@"Found: %i", [placemarks count]);
        for (CLPlacemark *placemark in placemarks) {
            CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(placemark.location.coordinate.latitude, placemark.location.coordinate.longitude);
            MapAnnotation *annotation = [MapAnnotation mapAnnotationWithCoordinate:coordinate title:@"DMV" subtitle:@"Great service?"];
            [self.mapView addAnnotation:annotation];
        }
    } else {
        NSLog(@"Error code: %i", [error code]);
    }
}];

}

私にとって少し紛らわしいのは、私の「検索」がどれほど広いか(スターバックス、DMV、対1234 S 312位、都市、州)に関係なく、常に1つの場所が返されることです。

だから、私の質問は、特定の検索に対して複数の結果を返す方法はありますか?

4

1 に答える 1

0

この段階では、CLGeocoder はかなり制限されているようです。アップデートでこれが解決されるまでは、別のサービス (Google Maps Geocoding API など) を使用することをお勧めします。Google マップでのみ Google ジオコーディングを使用できることに注意してください: https://developers.google.com/maps/documentation/geocoding/

于 2013-04-09T10:25:31.227 に答える