以下内容转载自面糊的文章《模仿微信发送位置功能》

作者:面糊

链接:https://www.jianshu.com/p/47b3ada2e36d

来源:简书

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

前言

微信的发送位置功能是一个十分方便的功能,他会定位用户当前所在地点,然后请求用户周边的POI,并且还可以通过拖动地图来获取其他的位置发送给对方,本Demo是结合腾讯地图SDK来实现类似的功能。

使用场景

拖动地图选择地图的中心点,然后请求该点周边的门店信息,可以通过设置搜索分类来指定搜索门店的类型,如:美食、学校等。

准备

  • 腾讯地图3D SDK
  • Marker
  • 地点检索

核心代码:

1、设置大头针,固定在地图中央,并监听地图移动的时候大头针跟随移动:

- (void)mapViewRegionChange:(QMapView *)mapView {// 更新位置_annotation.coordinate = mapView.centerCoordinate;
}

2、配置周边检索功能,将检索类型设置为"美食":

- (void)searchCurrentLocationWithKeyword:(NSString *)keyword {
CLLocationCoordinate2D centerCoord = self.mapView.centerCoordinate;QMSPoiSearchOption *option = [[QMSPoiSearchOption alloc] init];if (keyword.length > 0) {option.keyword = keyword;}option.boundary = [NSString stringWithFormat:@"nearby(%f,%f,2000,1)", centerCoord.latitude, centerCoord.longitude];[option setFilter:@"category=美食"];[self.mapSearcher searchWithPoiSearchOption:option];
}

3、解析检索结果,移动地图视野,并将结果显示在tableView上:

- (void)searchWithPoiSearchOption:(QMSPoiSearchOption *)poiSearchOption didReceiveResult:(QMSPoiSearchResult *)poiSearchResult {NSLog(@"%@", poiSearchResult);if (poiSearchResult.count == 0) {return;}// 地图移动到搜索结果的第一个位置if (_searchBar.text.length > 0) {_selectedIndex = 0;QMSPoiData *firstData = poiSearchResult.dataArray[0];_annotation.coordinate = firstData.location;[self.mapView setCenterCoordinate:firstData.location animated:YES];} else {_selectedIndex = -1;}_searchResultArray = poiSearchResult.dataArray;[_searchResultTableView reloadData];
}

以上就是核心代码,在Demo中还添加了用于显示地址的TableView以及搜索位置的SearchBar,有兴趣的同学可以在文章最下方进入码云下载完整示例。

示例:搜索西二旗地铁附近的美食

链接

感兴趣的同学可以在码云中下载Demo尝试一下。

腾讯位置服务教你轻松搞定微信发送位置功能相关推荐

  1. 微信发定位服务器地址,腾讯位置服务教你轻松搞定微信发送位置功能

    前言 微信的发送位置功能是一个十分方便的功能,他会定位用户当前所在地点,然后请求用户周边的POI,并且还可以通过拖动地图来获取其他的位置发送给对方,本Demo是结合腾讯地图SDK来实现类似的功能. 使 ...

  2. 服务器微信服务号响应变慢,微信卡顿和响应慢,教大家轻松搞定:简单操作,赶快收藏分享吧...

    原标题:微信卡顿和响应慢,教大家轻松搞定:简单操作,赶快收藏分享吧 作者:快分享(ID:280062218)致力于互联网价值资讯交流分享,妙招.美食.攻略大放送,欢迎来撩!点击上面的"关注& ...

  3. 如何解决html文档无法复制,职场必备技能:网页文档无法复制,3招教你轻松搞定...

    原标题:职场必备技能:网页文档无法复制,3招教你轻松搞定 其实很多人在浏览网页时都会遇到这个问题,看到了自己喜欢的文章片段,某一段文字特别符合自己的工作汇报,想要复制下来,结果却发现弹出了窗口,不是让 ...

  4. ppt中如何合并流程图_简单4招,教你轻松搞定PPT中的流程图!

    原标题:简单4招,教你轻松搞定PPT中的流程图! 来自:PK阿锴(ID:akaippt) 作者:王培锴 今天跟大家分享PPT流程图的制作方法,流程图相信大家都经常遇到,通常分布着许多节点,由线条链接起 ...

  5. 如何在原先的jqgrid中填充新的数据_自然人电子税务局(扣缴端)数据如何恢复?申税小微教您轻松搞定...

    自然人电子税务局 数据如何恢复? 申税小微教您轻松搞定! 财务小王:申税小微,我们公司换了新电脑,重新安装的自然人电子税务局(扣缴端)上没有人员采集信息和历史申报数据该怎么办? 申税小微: 1.可以在 ...

  6. 【腾讯TMQ】30分钟轻松搞定代码瘦身

    导语 当一个新的产品想要复用一个旧的产品的逻辑的时候,是直接把全盘的代码copy过去就可以了吗?站在功能的角度当然没问题,但是这对于新产品是相当臃肿的,因为一些它根本不会使用的功能代码也包含在里面.同 ...

  7. 苹果备忘录丢失如何恢复,小编支招教你轻松搞定

    文章目录 方法一:使用官网云数据找回删除的备忘录 方法二:通过云备份找回删除的备忘录 方法三:通过云备份找回删除的备忘录 备忘录是我们日常生活中记录事项的常用工具,相较于以往的笔和纸用本子记录,手机备 ...

  8. 教你轻松搞定RJ45网线接头

    网络初学者经常为自己做网线而苦恼,不用愁,通过十一个步骤教你轻松学会RJ45接头网线的制作! EIA/TIA-568标准规定了两种RJ45接头网线的连接标准(并没有实质上的差别),即EIA/TIA-5 ...

  9. 如何旋转PDF页面?两招教你轻松搞定

    有很多职场新人在初入职场的时候,都会要对很多不同的文档进行处理,当处理到一些PDF文件的时候,会发现一些PDF文件是倒着的,这样的话就影响阅读的效率,也会影响人们阅读时的心情,那么当遇到倒着的PDF文 ...

最新文章

  1. 敏捷爽畅模型及其演变——Diana Larsen专访
  2. k8s服务网关ambassador部署
  3. Android之Fragment 真正的完全解析(上)
  4. 15.Numpy之点乘、算术运算、切片、遍历和下标取值
  5. 性能之巅:Linux网络性能分析工具
  6. CSF 格式文件播放器 下载地址
  7. greenplum 数据库单机部署
  8. 智能送药小车解说(国二)
  9. HTML表格,列表,超链接,图片
  10. linux下github上传文件,linux下将本地文件上传到github中?
  11. 【MyBatis】mybatis分页插件
  12. 树莓派串口通信编码_树莓派3B 串口通信超详细
  13. C# GDAL 数字图像处理Part10 自动配准/半自动配准
  14. 最新python与SEO实战课程第2期项目实战(完整)
  15. Udacity Deep Learning课程作业(五)
  16. Android菜谱应用客户端
  17. springboot整合jd freemarker
  18. OpenCV 32F 与 8U Mat数据类型相互转换(C++版)
  19. HTTP代理穿透原理
  20. 如何利用群控做流量,手机群控引流方法有哪些

热门文章

  1. 研究生查分方式-查分时间大汇总-文都管联院
  2. Redis为什么是单线程?高并发响应快?
  3. 最好用的录音软件是哪个?
  4. 代码面试最常用的10大算法(四)
  5. 大学生WEB前端静态网页——旅游介绍35页 响应式,
  6. 蓝桥杯——种植园问题(prev54)
  7. 历经一个月研究,发布两款机器人,小白就会python自己制作机器人了
  8. 京东打单发货如何识别疫情地区?
  9. MySQL必知必会2
  10. Java如何进行Base64的编码(Encode)与解码(Decode)?