腾讯地图iOS SDK推出了4.4.0版本,更新了多个比较实用的功能,本次介绍地图SDK行政区划检索功能新添加的行政区划轮廓点串,能够让咱们在地图上绘制行政区划的边界。spa
绘制行政区划的边界代理
腾讯地图iOS SDKcode
一、使用QMSDistrictSearchSearchOption类来发起单个行政区划检索功能对象
QMSDistrictSearchSearchOption *option = [[QMSDistrictSearchSearchOption alloc] init];
二、配置检索参数对象,并设置行政区划轮廓点串,发起检索:blog
option.keyword = @"110001"; // 须要注意,该属性只有在keyword为adcode时才会生效 option.get_polygon = QMSDistrictPolygonWithSeaArea; [self.searcher searchWithDistrictSearchSearchOption:option];
三、在MapView的代理方法中获取检索结果,并绘制在地图中:rem
- (void)searchWithDistrictSearchOption:(QMSDistrictBaseSearchOption *)districtSearchOption didRecevieResult:(QMSDistrictSearchResult *)districtSearchResult { NSArray *districtArray = districtSearchResult.result.firstObject; QMSDistrictData *data = districtArray.firstObject; CLLocationCoordinate2D coords[data.polygon.count]; for (int i = 0; i < data.polygon.count; i++) { NSValue *coordValue = data.polygon[i]; coords[i] = [coordValue coordinateValue]; } QPolygon *polygon = [[QPolygon alloc] initWithWithCoordinates:coords count:data.polygon.count]; [self.mapView addOverlay:polygon]; } - (QOverlayView *)mapView:(QMapView *)mapView viewForOverlay:(id<QOverlay>)overlay { if ([overlay isKindOfClass:[QPolygon class]]) { QPolygonView *polygon = [[QPolygonView alloc] initWithPolygon:overlay]; polygon.strokeColor = [UIColor redColor]; polygon.lineWidth = 2; return polygon; } return nil; }
四、示例图get
一、使用QMSDistrictSearchSearchOption类来发起单个行政区划检索功能it
QMSDistrictChildrenSearchOption *option2 = [[QMSDistrictChildrenSearchOption alloc] init];
二、配置检索参数对象,并设置行政区划轮廓点串,发起检索:io
// 这里须要注意,子级行政区划检索须要根据父级的行政区划ID来检索 option2.ID = @"110000"; [option2 setGet_polygon:QMSDistrictPolygonWithSeaArea]; [self.searcher searchWithDistrictChildrenSearchOption:option2];
三、示例图class
行政区划检索能够配合定位功能来展现用户当前所在的区域,也能够用于作行政区划的展现功能。
做者:面糊连接:https://www.jianshu.com/p/ae7...
来源:简书
著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。