IOS移动端如何获取ArcGIS Server的服务列表

1、应用需求

<wbr>ArcGIS Server服务器增加、删除服务,移动端能动态的获取服务列表;</wbr>

2、移动端解决方法

2.1、获取服务器端服务列表URL地址

(1)打开ArcGIS Server服务目录

(2)点击rest得到服务列表URL



(3)点击rest可以看到服务列表的json串,这个url就是我们获取服务列表的url



2.2 IOS读取方法

(1)异步调用服务

//服务URL

<wbr>NSURL* <wbr>url <wbr>= <wbr>[NSURL <wbr>URLWithString:@"http://192.168.0.1/arcgis/rest/services?f=pjson"];<br><wbr><wbr>//self.currentJsonOp是 <wbr><wbr>AGSJSONRequestOperation 对象</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr>self.currentJsonOp <wbr>= <wbr>[[[AGSJSONRequestOperation <wbr>alloc]initWithURL:url]<wbr>autorelease];<br><wbr><wbr><wbr><wbr><wbr><br> self.currentJsonOp.target <wbr>= <wbr>self;<br> self.currentJsonOp.action <wbr>= <wbr>@selector(operation:didSucceedWithResponse:);<br> self.currentJsonOp.errorAction <wbr>= <wbr>@selector(operation:didFailWithError:);<br></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
//self.queue 是 NSOperationQueue 对象
//Add <wbr>operation <wbr>to <wbr>the <wbr>queue <wbr>to <wbr>execute <wbr>in <wbr> the <wbr>background<br> [self.queue <wbr>addOperation:self.currentJsonOp];</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

(2)处理调用结果,得到服务名称
//成功处理,The webservice was invoked successfully.

- <wbr>(void)operation:(NSOperation*)op <wbr>didSucceedWithResponse:(NSDictionary<wbr>*)weatherInfo<wbr>{<br> //Print <wbr>the <wbr>response <wbr>to <wbr>see <wbr>what <wbr>the <wbr>JSON <wbr> payload <wbr>looks <wbr>like.<br> NSLog(@"%@", <wbr>weatherInfo);<br> NSLog(@"number <wbr>is <wbr>%d",weatherInfo.count);<br><wbr><wbr><wbr><wbr>if([weatherInfo <wbr>objectForKey:@"services"]!=nil){<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>NSArray <wbr>*servicesArray=[weatherInfo <wbr> objectForKey:@"services"];<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>NSLog(@"%@,lenth <wbr>is <wbr>%d", <wbr>servicesArray,[servicesArray<wbr>count]);<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>for <wbr>(int <wbr>i=0; <wbr>i&lt;[servicesArray<wbr>count];<wbr>i++) <wbr>{<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>NSDictionary <wbr>*services=[servicesArray<wbr>objectAtIndex:i];<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>//NSLog(@"%@", <wbr>services);<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>NSString <wbr>*name=[services<wbr>objectForKey:@"name"];<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>NSString <wbr>*type=[services<wbr>objectForKey:@"type"];<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>NSLog(@"%@,%@",name,type);<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr>}<br><wbr><wbr><wbr><wbr>}<br> //处理失败,Error encountered while invoking webservice. Alert user<br> - <wbr>(void)operation:(NSOperation*)op <wbr>didFailWithError:(NSError <wbr>*)error<wbr>{<br> self.mapView.callout.hidden <wbr>= <wbr>YES;<br> UIAlertView* <wbr>av <wbr>= <wbr>[[[UIAlertView <wbr>alloc] <wbr>initWithTitle:@"Sorry"<wbr><br><wbr>message:[error <wbr>localizedDescription] <wbr><br> delegate:nil <wbr>cancelButtonTitle:@"OK" <wbr><br><wbr><wbr><wbr>otherButtonTitles:nil] <wbr>autorelease];<br> [av <wbr>show];<br> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>

这样就动态的得到了地图服务的URL列表


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值