美文网首页
iOS集成高德地图的地点名字选择

iOS集成高德地图的地点名字选择

作者: Seacen_Liu | 来源:发表于2017-11-08 20:29 被阅读0次

最近的项目的功能中涉及到了地点的选择,需求上只需要搜索出具体的地名即可。当前项目只是应用于国内,也需要一个明确的地点名字供用户选择,这里就首选了第三方SDK,并选择了高德地图。第一件事那便是要到高德开放平台去阅读官方文档。里面写得很详细,并且提供了OC和Swift两种用法和示例代码。分析一下项目的需求,明确目标,我们主要是通过高德地图的搜索POI点来获取具体的地名。之后就是跟着文档去部署和一步一步实现定位和搜索。
整体还是挺简单的,这里就列几个需要注意的地方。
一、使用高德地图的单次定位时候,如果需要获取逆地理信息,调用下面的方法的时候要传true(官方文档代码示例是不带有你地址信息的示例)

/**
 *  @brief 单次定位。如果当前正在连续定位,调用此方法将会失败,返回NO。\n该方法将会根据设定的 desiredAccuracy 去获取定位信息。如果获取的定位信息精确度低于 desiredAccuracy ,将会持续的等待定位信息,直到超时后通过completionBlock返回精度最高的定位信息。\n可以通过 stopUpdatingLocation 方法去取消正在进行的单次定位请求。
 *  @param withReGeocode 是否带有逆地理信息(获取逆地理信息需要联网)
 *  @param completionBlock 单次定位完成后的Block
 *  @return 是否成功添加单次定位Request
 */
- (BOOL)requestLocationWithReGeocode:(BOOL)withReGeocode completionBlock:(AMapLocatingCompletionBlock)completionBlock;

二、使用POI周边请求的时候,除了要看AMapPOIAroundSearchRequest的属性之外,还要去看他的父类AMapPOISearchBaseRequest的属性。正常情况下搜索获取到的AMapPOI对象是很多的,服务器做了分页,我们移动端在显示的时候也需要做分页。

///POI搜索请求基类
@interface AMapPOISearchBaseRequest : AMapSearchObject
///类型,多个类型用“|”分割 可选值:文本分类、分类代码
@property (nonatomic, copy)   NSString  *types;
///排序规则, 0-距离排序;1-综合排序, 默认0
@property (nonatomic, assign) NSInteger  sortrule;
///每页记录数, 范围1-50, [default = 20]
@property (nonatomic, assign) NSInteger  offset;
///当前页数, 范围1-100, [default = 1]
@property (nonatomic, assign) NSInteger  page;
///建筑物POI编号,传入建筑物POI之后,则只在该建筑物之内进行搜索 since 4.5.0
@property (nonatomic, copy) NSString *building;
///是否返回扩展信息,默认为 NO。
@property (nonatomic, assign) BOOL requireExtension;
///是否返回子POI,默认为 NO。
@property (nonatomic, assign) BOOL requireSubPOIs;
@end
///POI周边搜索
@interface AMapPOIAroundSearchRequest : AMapPOISearchBaseRequest
///查询关键字,多个关键字用“|”分割
@property (nonatomic, copy)   NSString     *keywords; 
///中心点坐标
@property (nonatomic, copy)   AMapGeoPoint *location; 
///查询半径,范围:0-50000,单位:米 [default = 3000]
@property (nonatomic, assign) NSInteger     radius; 
@end

三、按照关键字搜索POI时,需要在请求中设置城市,否则是按综合排序显示的。我们可以帮用户定位获取城市名,再给他一个选择其他城市的列表。

Demo的效果如下:


简单界面实现.png

高德地图的官方文档写得很清楚,加上头文件都带上了中文的注释用起来还是比较方便快捷的。在这个小demo中主要还是积累了看文档的经验,还有一点点注意事项(看文档写不能着急,一定要先看清楚了QAQ)...

相关文章

  • iOS集成高德地图的地点名字选择

    最近的项目的功能中涉及到了地点的选择,需求上只需要搜索出具体的地名即可。当前项目只是应用于国内,也需要一个明确的地...

  • iOS 高德地图的使用

    iOS:高德地图的使用 本人花了点时间集成了高德地图的几乎所有的功能,包含:地图的显示、地图的绘制、地图的定位、地...

  • 安卓run keystore缺失问题

    前段时间集成高德地图需求,网上有位大神根据uikitview和PlatformView原理开发了高德插件,ios安...

  • 地图集成调研

    地图集成调研 主要地图API有百度地图、高德地图、腾讯地图、搜狗地图(android、IOS暂不开放)。 百度地图...

  • 集成iOS高德地图

    一、前奏 这里只是个人集成过程中的遇到的点,现做下标记。 1,如果你需要集成涉及国外版地图,基于HTTPS的最新版...

  • iOS集成高德地图

    在进行iOS客户端开发的过程中,可能会用到高德地图的相关功能,下面我将对我所知道的功能进行描述。 发送当前地理位置...

  • iOS 集成高德地图

    参考文档:iOS 跳转方式实现地图导航功能 应用内导航 是指使用地图服务提供的SDK(比如高德,百度等等),直接将...

  • flutter 高德地图SDK 接入

    本篇为flutter 项目集成高德地图flutter插件,话不多说,直接上代码 iOS 端 创建账号 创建高德账号...

  • hbuilder ios 离线打包框架(适配iphonex)集成

    hbuilder ios 离线打包框架(适配iphonex)集成高德地图总结: 1.目前hbuilder内置的是百...

  • 高德地图添加大头针和周边搜索

    1.集成高德地图: 在高德官网导入sdk,初始化地图 -(void)initMapView { ///地图需要...

网友评论

      本文标题:iOS集成高德地图的地点名字选择

      本文链接:https://www.haomeiwen.com/subject/fcnymxtx.html