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

最近的项目的功能中涉及到了地点的选择,需求上只需要搜索出具体的地名即可。当前项目只是应用于国内,也需要一个明确的地点名字供用户选择,这里就首选了第三方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)...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • LZ-Says:前段时间更新了一篇关于高德地图的简单使用,其中主要包含实现地图显示以及定位简单功能,具体文章如下:...
    静心Study阅读 5,924评论 1 6
  • 本文出自 “阿敏其人” 简书博客,转载或引用请注明出处。 小二,来我上两张图。 来吧,我们先来看一下原版的微信发送...
    阿敏其人阅读 14,238评论 15 71
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,689评论 4 61
  • R语言的包是R函数,编译代码和样本数据的集合。 它们存储在R语言环境中名为“library”的目录下。 默认情况下...
    yuanyb阅读 3,923评论 0 0
  • 写下标题,似有觉得不妥,因我的水平尚未达到“论”的境界。只能说是对静的理解!姑且让借用下吧! 今日糜糜...
    品程阅读 2,985评论 1 2

友情链接更多精彩内容