ইস্যু এগিয়ে-জিওকোডিং একাধিক ঠিকানা

আমি একটি দূরবর্তী ওয়েব পরিষেবাদির সাথে সংযোগ করছি যা মূলত একটি xml ফিরে দেয়। আমি তখন এক্সএমএলটি একটি সম্পত্তি বস্তুর মধ্যে বিশ্লেষণ করছি (প্রকৃত অবস্থা অনুসারে জিনিসটি মনে করুন)

But now, the web service returns a postal code for each property alone. It does not provide a coordinate which is what I need to place an annotation in the map. I am able to geocode an address provided a postal code. However, my problem is it is not allowing me to do multiple requests

এখানে আমার কোড

- (void)processProperties:(Property *)property {

    [geocoder geocodeAddressString:property.postalCode
                 completionHandler:^(NSArray* placemarks, NSError* error){
                     placemark = [placemarks lastObject];
                     for (CLPlacemark* aPlacemark in placemarks)
                     {
                         [sublet setLatitude:aPlacemark.location.coordinate.latitude];
                         [sublet setLongitude:aPlacemark.location.coordinate.longitude];  
                     }
                 }];
}


- (void)addAnnotations:(NSArray *)objects {
    CLLocationDegrees lat;
    CLLocationDegrees longitude;
    CLLocationCoordinate2D mCoords;
    NSString *fullAddress;

   //Add the annotations found nearby
    for (Property *property in objects) {

        [self processProperties:property];
        lat = property.latitude;
        longitude = property.longitude;

        fullAddress = [NSString stringWithFormat:@"%@ %@ %@", property.houseNumber, @" ", property.streetName];
        [self createAnnotationWithCoords:mCoords :fullAddress :[NSString stringWithFormat:@"$%.2f", property.rent]];
    }
    zoomLevel = 0.1;
    mCoords = CLLocationCoordinate2DMake(lat,longitude);
    MKCoordinateRegion region = MKCoordinateRegionMake(mCoords,MKCoordinateSpanMake(zoomLevel,zoomLevel));

   [self.mapView setRegion:region animated:YES];
}

কিছু কারণে এটি শুধু geocoding 1 সম্পত্তি। অনুযায়ী লুপ মাধ্যমে যাচ্ছে না।

কোন ধারনা লোকেরা?

3

1 উত্তর

আপনার ফরোয়ার্ড জিও ফাংশন এ এই ব্যবহার করুন। জিওকোডারকে মুক্ত করতে হবে এবং নতুন ঠিকানা শুরু করতে আবার শুরু করতে হবে, আশা করি এটি সাহায্য করবে।

- (void)processProperties:(Property *)property { 
CLGeocoder *geocoder = [[CLGeocoder alloc] init]; 
[geocoder geocodeAddressString:property.postalCode
             completionHandler:^(NSArray* placemarks, NSError* error){
                 placemark = [placemarks lastObject];
                 for (CLPlacemark* aPlacemark in placemarks)
                 {
                     [sublet setLatitude:aPlacemark.location.coordinate.latitude];
                     [sublet setLongitude:aPlacemark.location.coordinate.longitude];  
                 }
                 [geocoder release];
             }];
  }
6
যোগ
অ্যাপল সুপারিশ করে যে শুধুমাত্র একটি জিওকোডিং অ্যাপ্লিকেশন সেশনের জন্য করা উচিত, যা খুবই সীমিত। আপনি ঠিক যে তারা শুধুমাত্র একটি উদাহরণ একটি কল অনুমতি দ্বারা এটি প্রয়োগ করা বলে মনে হয়। একাধিক দৃষ্টিকোণ তৈরি সমস্যা সমাধান করে, কিন্তু এটা নিশ্চিত করতে একটি বিজোড় জিনিস।
যোগ লেখক akaru, উৎস