how to create a findtaskparameters

4092
3
07-17-2010 04:14 AM
BleumInc
New Contributor
self.findParameters = [[AGSFindParameters alloc] init];

self.findParameters.contains = YES;
self.findParameters.layerIds = [NSArray arrayWithObjects:[NSNumber numberWithInt:8],nil];
self.findParameters.searchFields = [NSArray arrayWithObjects:@"OWNER_NAME",nil];
self.findParameters.searchText = @"cline";
self.findParameters.returnGeometry = YES;
self.findParameters.outSpatialReference = self.mapView.spatialReference;

I create it like this, but it can't work.
the findtask is below:
self.findTask = [AGSFindTask findTaskWithURL:[NSURL http://ruby.kgs.ku.edu/arcgis/rest/services/oilgas/oilgas/MapServer]];

it can't not execute the delegate protocol
Is there any problem?
thanks~
0 Kudos
3 Replies
AndrewEgleton
New Contributor III
I'm also having a problem with the findTaskDelegate not being triggered, I've got the view controller set to be the delegate.

Setting up the findTask:

[[self.findTask alloc] initWithURL:self.dynamicLayersURL];
self.findTask.delegate = self;


Executing it:

- (void)searchBarSearchButtonClicked:(UISearchBar *)theSearchBar
{

// Get find parameters
AGSFindParameters *findParam = [[AGSFindParameters alloc] init];
findParam.contains = YES;
findParam.layerIds = findLyrIds;
findParam.returnGeometry = NO;
findParam.searchFields = findFields;
findParam.searchText = theSearchBar.text;

// Execute the find task
[self.findTask executeWithParameters:findParam];
}


It never sets off didExecuteWithFindResults or didFailWithError, Any ideas?
0 Kudos
AndrewEgleton
New Contributor III
Sorry, have answered my own question! I should have initialised the FindTask like this:
self.findTask = [[AGSFindTask alloc] initWithURL:self.dynamicLayersURL];


Hope this helps Bleum.
0 Kudos
MichaelBeck
New Contributor
Hi


self.findTask = [AGSFindTask findTaskWithURL:[NSURL http://ruby.kgs.ku.edu/arcgis/rest/services/oilgas/oilgas/MapServer]];


self.findTask is a retain property right? Otherwise, this won't work.
Also, don't forget to set the delegate:
self.findTask.delegate = self;

The object must implement the AGSFindTaskDelegate protocol.
Greez
0 Kudos