我有一个弹出的名单上的11个不同的地图层,我希望它删除以前选定的层时,一个新的选择。我该怎么做呢。我有一个if语句,它将引用url更改为新层。这是代码:
-(void) didLoadSelectedLayer:(NSString *)selectedLayer{
//Array of all the map layers
self.popOverArray = [[NSArray alloc] initWithObjects:@"Electric Radio", @"Electric Truck", @"Gas Radio", @"Gas Truck", @"Meter", @"Sewer Radio", @"Sewer Truck", @"Support Radio", @"Support Truck", @"Water Radio", @"Water Truck", nil];
//Load layers based on selected cell
if ([selectedLayer isEqualToString:@"Electric Radio"]) {
_url = [NSURL URLWithString:@"https://example.com./0"];
}else if ([selectedLayer isEqualToString:@"Electric Truck"]){
_url = [NSURL URLWithString:@"https://example.com/1"];
}else if ([selectedLayer isEqualToString:@"Gas Radio"]){
_url = [NSURL URLWithString:@"https://example.com/2"];
}else if ([selectedLayer isEqualToString:@"Gas Truck"]){
_url = [NSURL URLWithString:@"https://example.com/2"];
}else if ([selectedLayer isEqualToString:@"Meter"]){
_url = [NSURL URLWithString:@"example.com/4"];
}else if ([selectedLayer isEqualToString:@"Sewer Radio"]){
_url = [NSURL URLWithString:@"example.com/5"];
}else if ([selectedLayer isEqualToString:@"Sewer Truck"]){
_url = [NSURL URLWithString:@"https://eample.com/6"];
}else if ([selectedLayer isEqualToString:@"Support Radio"]){
_url = [NSURL URLWithString:@"https://example.com/7"];
}else if ([selectedLayer isEqualToString:@"Support Truck"]){
_url = [NSURL URLWithString:@"https://example.com/8"];
}else if ([selectedLayer isEqualToString:@"Water Radio"]){
_url = [NSURL URLWithString:@"https://example.com/9"];
}else if ([selectedLayer isEqualToString:@"Water Truck"]){
_url = [NSURL URLWithString:@"https://example.com/10"];
}else {
}
//Load the Selected layer to map view
_graphicsLayer = [AGSGraphicsLayer graphicsLayer];
[self.mapView addMapLayer:_graphicsLayer withName:@"Graphics Layer"];
AGSCredential *userCred = [[AGSCredential alloc] initWithUser:@"username" password:@"password"];
AGSFeatureLayer *featrueServiceLayer = [[AGSFeatureLayer alloc] initWithURL:_url mode:AGSFeatureLayerModeOnDemand credential:userCred];
[featrueServiceLayer setOutFields:[NSArray arrayWithObject:@"*"]];
featrueServiceLayer.editingDelegate = self;
[self.mapView addMapLayer:featrueServiceLayer withName:@"featureService"];
}发布于 2015-08-05 18:48:50
添加图形处理程序之后,创建一个if语句,查看是否添加了一个语句,并删除图形层(如果为真),然后删除功能保留。
_graphicsLayer = [AGSGraphicsLayer graphicsLayer];
if ([_graphicsLayer graphics]) {
[_graphicsLayer removeAllGraphics];
[self.mapView removeMapLayerWithName:@"featureService"];
}https://stackoverflow.com/questions/31837600
复制相似问题