七、ArcGIS Runtime SDK for iOS 100.2.1教程系列之地理检索
2018-03-30 09:44
801 查看
ArcGIS直接提供了地理检索api,但是这个功能需要依托后台服务发布GeocodeServer服务__weak __typeof(self)weakSelf = self;
if (!self.locatorTask) {
self.locatorTask = [[AGSLocatorTask alloc] initWithURL:[NSURL URLWithString:@"https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer"]];
}
if (!self.geoParams) {
self.geoParams = [[AGSGeocodeParameters alloc] init];
self.geoParams.resultAttributeNames = @[@"*"];
self.geoParams.minScore = 75;//匹配度
// self.geoParams.outputSpatialReference = self.mapView.spatialReference;
// self.geoParams.preferredSearchLocation = AGSPointMake(530381, 392550, self.mapView.spatialReference);
// self.geoParams.searchArea = self.dynamicLayer.fullExtent;
}
[self.locatorTask loadWithCompletion:^(NSError * _Nullable error) {
if (!error) {
[weakSelf.locatorTask geocodeWithSearchText:@"Disneyland" parameters:weakSelf.geoParams completion:^(NSArray<AGSGeocodeResult *> * _Nullable geocodeResults, NSError * _Nullable error) {
}];
}
}];该API还是比较浅显的,使用比较方便。
今天突然发现其实官方给出了一份开源的详细使用代码,还发布到了AppStore,git直达:https://github.com/Esri/arcgis-runtime-samples-ios,大家可以自行下载过来参考,只不过是swift版本的。
等后续开发中发现更多实用性强,坑比较多的功能时再持续更新博客,谢谢关注!
if (!self.locatorTask) {
self.locatorTask = [[AGSLocatorTask alloc] initWithURL:[NSURL URLWithString:@"https://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer"]];
}
if (!self.geoParams) {
self.geoParams = [[AGSGeocodeParameters alloc] init];
self.geoParams.resultAttributeNames = @[@"*"];
self.geoParams.minScore = 75;//匹配度
// self.geoParams.outputSpatialReference = self.mapView.spatialReference;
// self.geoParams.preferredSearchLocation = AGSPointMake(530381, 392550, self.mapView.spatialReference);
// self.geoParams.searchArea = self.dynamicLayer.fullExtent;
}
[self.locatorTask loadWithCompletion:^(NSError * _Nullable error) {
if (!error) {
[weakSelf.locatorTask geocodeWithSearchText:@"Disneyland" parameters:weakSelf.geoParams completion:^(NSArray<AGSGeocodeResult *> * _Nullable geocodeResults, NSError * _Nullable error) {
}];
}
}];该API还是比较浅显的,使用比较方便。
今天突然发现其实官方给出了一份开源的详细使用代码,还发布到了AppStore,git直达:https://github.com/Esri/arcgis-runtime-samples-ios,大家可以自行下载过来参考,只不过是swift版本的。
等后续开发中发现更多实用性强,坑比较多的功能时再持续更新博客,谢谢关注!
相关文章推荐
- 二、ArcGIS Runtime SDK for iOS 100.2.1教程系列之点击图层元素检索并高亮
- 一、ArcGIS Runtime SDK for iOS 100.2.1教程系列之底图与动态图层加载
- 四、ArcGIS Runtime SDK for iOS 100.2.1教程系列之图层控制显示隐藏
- 八、ArcGIS Runtime SDK for iOS 100.2.1教程系列之双地图联动
- 三、ArcGIS Runtime SDK for iOS 100.2.1教程系列之图层图例信息获取
- 六、ArcGIS Runtime SDK for iOS 100.2.1教程系列之弹框
- ArcGIS Runtime SDK for iOS开发系列教程(5)——要素信息的绘制
- ArcGIS Runtime SDK for iOS开发系列教程(5)——要素信息的绘制
- ArcGIS Runtime SDK for iOS开发系列教程(4)——如何让你的iOS应用具有GIS能力
- ArcGIS Runtime SDK for iOS开发系列教程(1)——开发前准备
- ArcGIS Runtime SDK for iOS开发系列教程(5)——要素信息的绘制
- ArcGIS Runtime SDK for iOS开发系列教程(8)——Geoprocessor使用
- ArcGIS Runtime SDK for iOS开发系列教程(0)——PPT分享(iOS历史、Objective-C语法、SDK介绍)
- ArcGIS Runtime SDK for iOS开发系列教程(2)——MapViewDemo解析
- ArcGIS Runtime SDK for iOS开发系列教程
- ArcGIS Runtime SDK for iOS开发系列教程(6)——Tasks使用的一般流程
- ArcGIS Runtime SDK for iOS开发系列教程(8)——Geoprocessor使用
- ArcGIS Runtime SDK for iOS开发系列教程(2)——MapViewDemo解析
- ArcGIS SDK for iOS开发系列教程
- ArcGIS Runtime SDK for iOS之Maps和Layers