首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载新NSURL时如何删除NSURL

加载新NSURL时如何删除NSURL
EN

Stack Overflow用户
提问于 2015-08-05 16:09:02
回答 1查看 82关注 0票数 1

我有一个弹出的名单上的11个不同的地图层,我希望它删除以前选定的层时,一个新的选择。我该怎么做呢。我有一个if语句,它将引用url更改为新层。这是代码:

代码语言:javascript
复制
-(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"];


}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-05 18:48:50

添加图形处理程序之后,创建一个if语句,查看是否添加了一个语句,并删除图形层(如果为真),然后删除功能保留。

代码语言:javascript
复制
 _graphicsLayer = [AGSGraphicsLayer graphicsLayer];

if ([_graphicsLayer graphics]) {
    [_graphicsLayer removeAllGraphics];
    [self.mapView removeMapLayerWithName:@"featureService"];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31837600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档