专栏首页腾讯位置服务腾讯地图行政区划边界绘制教程来啦!!

腾讯地图行政区划边界绘制教程来啦!!

前言

腾讯地图iOS SDK推出了4.4.0版本,更新了多个比较实用的功能,本次介绍地图SDK行政区划检索功能新添加的行政区划轮廓点串,可以让我们在地图上绘制行政区划的边界。

使用场景

绘制行政区划的边界

准备

腾讯地图iOS SDK

单个行政区划绘制

1、使用QMSDistrictSearchSearchOption类来发起单个行政区划检索功能

QMSDistrictSearchSearchOption *option = [[QMSDistrictSearchSearchOption   alloc] init];

2、配置检索参数对象,并设置行政区划轮廓点串,发起检索:

option.keyword = @"110001";
// 需要注意,该属性只有在keyword为adcode时才会生效
option.get_polygon = QMSDistrictPolygonWithSeaArea;
[self.searcher searchWithDistrictSearchSearchOption:option];

3、在MapView的代理方法中获取检索结果,并绘制在地图中:

- (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;
}

4、示例图

image.png

多个子行政区划绘制

1、使用QMSDistrictSearchSearchOption类来发起单个行政区划检索功能

QMSDistrictChildrenSearchOption *option2 = [[QMSDistrictChildrenSearchOption alloc] init];

2、配置检索参数对象,并设置行政区划轮廓点串,发起检索:

// 这里需要注意,子级行政区划检索需要根据父级的行政区划ID来检索
option2.ID = @"110000";
[option2 setGet_polygon:QMSDistrictPolygonWithSeaArea];
[self.searcher searchWithDistrictChildrenSearchOption:option2];

3、示例图

image.png

总结

行政区划检索可以配合定位功能来展示用户当前所在的区域,也可以用于做行政区划的展示功能。

作者:面糊

链接:https://www.jianshu.com/p/ae7351337371

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文链接:https://www.jianshu.com/p/ae7351337371

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于UE4/Unity绘制地图 - 确定展示区域

    地图可以看成是一个巨型的开放世界游戏场景,因此为了便于数据存储和查找,传统的做法是将地球根据墨卡托投影转换为平面地图,再将地图分级分块进行切片,通过索引获取到对...

    腾讯位置服务
  • 一休哥、静香,帮你带娃是一种什么体验?

    “一休哥”“ 哆啦A梦”“狮子王”成为你的童年伙伴是什么体验? ? (《一休和尚》的小一休) ? (《叮当猫》的美琪) ? (《哆啦A梦》的静香) 现在机会来...

    鹅老师
  • 腾讯里约——数字化中台的基石

    导语:2019年5月21日,腾讯全球数字生态大会在春城昆明盛大开幕。大会中TEG作为腾讯的内部技术支撑平台,在展区展出30余个技术应用。共分为资源层,资源管理层...

    腾讯技术工程官方号
  • “游云南”数字博物馆上线,“黑科技” 让文物活起来

    ? 5月18日国际博物馆日  文末揭晓13项博物馆“黑科技”哟~  ↓ 随着《国家宝藏》的热播 以及故宫文化资源走进平常人家 高冷的博物馆“热”起来 大英博物...

    腾讯文旅
  • 腾讯集团与三亚市政府签署战略合作协议 打造“数字三亚” | 数字文旅周报03期

    ? 腾讯集团与三亚市政府举行工作座谈  签署战略合作协议 2019年1月13日上午,腾讯集团与三亚市政府签署战略合作协议。双方将在打造“数字三亚”、产业发...

    腾讯文旅
  • 全国校长沙龙在腾讯深圳总部举办:跳出边界,探寻未来教育更多可能

    ? 科技的高速发展,深刻地改变了教育,也推动着教育发展步入全新的时代。信息化和智能化的浪潮之下,教育会呈现出怎样的新样态?如何打造面向未来的学校与课堂?7月1...

    腾讯智慧教育
  • 腾讯全球数字生态大会智能教育专场上线 战略升级推出全新解决方案

    ? 9月10日,2020腾讯全球数字生态大会智能教育专场在“云端”举行。腾讯高级执行副总裁、云与智慧产业事业群总裁汤道生,腾讯云副总裁、腾讯教育副总裁王涛,腾...

    腾讯智慧教育
  • 腾讯全球数字生态大会智能教育专场上线 战略升级推出全新解决方案

    9月10日,2020腾讯全球数字生态大会智能教育专场在“云端”举行。腾讯高级执行副总裁、云与智慧产业事业群总裁汤道生,腾讯云副总裁、腾讯教育副总裁王涛,腾讯教...

    鹅老师
  • 腾讯“云见习” | 放眼未来,创想无限职业可能

    长大以后,你想做什么工作呢? 执科技为灯,去照亮人类正在探索的前沿世界? 还是握文化为笔,去书写描绘浩瀚无边的文明卷轴? 在这里,孩子从自由创想中, 发现了自...

    鹅老师

扫码关注云+社区

领取腾讯云代金券