騰訊地圖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...
來源:簡書
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。