-(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
サインインしたメンバーは投稿、更新のフォローなどができます。初めてですか?無料アカウントを登録してください。
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.