-(void) mapView:(AGSMapView *)mapView didClickAtPoint:(CGPoint)screen mapPoint:(AGSPoint *)mappoint graphics:(NSDictionary *)graphics{ NSURL *petroURL=[[NSURL alloc]initWithString:@"http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer"]; //AGSIdentifyTask *task=[AGSIdentifyTask identifyTaskWithURL:petroURL]; AGSIdentifyTask *task=[[AGSIdentifyTask alloc]initWithURL:petroURL]; [task setDelegate:self]; AGSIdentifyParameters *param=[[AGSIdentifyParameters alloc]init]; param.layerIds=[NSArray arrayWithObjects:[NSNumber numberWithInt:5], nil]; param.tolerance=5; param.geometry=mappoint; param.size=self.mapView.bounds.size; AGSEnvelope *env=[[AGSEnvelope alloc]initWithXmin:-10948000 ymin:-6624000 xmax:9794000 ymax:7406000 spatialReference:self.mapView.spatialReference]; param.mapEnvelope=env; param.returnGeometry=YES; param.layerOption=AGSIdentifyParametersLayerOptionAll; param.spatialReference=self.mapView.spatialReference; [task executeWithParameters:param]; } -(void) identifyTask:(AGSIdentifyTask *)identifyTask operation:(NSOperation *)op didExecuteWithIdentifyResults:(NSArray *)results{ NSLog(@" %@ ",[results count]); }
It's not getting any result because AGSIdentifyTask is getting released. Create a retain property for "AGSIdentifyTask *task" and then try.Regards,Nimesh
[task retain]
If you are using ARC then you should create property with 'strong' keyword.in .h file@property (nonatomic, strong) AGSIdentifyTask *task;in .m file@synthesize task;self.task=[[AGSIdentifyTask alloc]initWithURL:petroURL];Regards,Nimesh
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.