1. 定位获取当前位置
  2. 地图中间放置大头针
  3. 周边展示位置信息
  4. 周边信息点击后的逻辑操作
  5. 地图截屏功能实现
  6. 发送图片到其他页面或者服务器
  7. 获取到信息进行展示

    写的不好,勿喷,有疑问可以联系我qq 1308889768 或者475386936
    公司最近要求在框架添加发送位置逻辑,然而并没有在数据库和后台写入这个方法,所以,只能做出demo样式,等待后台处理

说起来高德定位还是挺好用的,起码对于初级开发者来说,高德的api文档是很容易接受的,对于高德定位,这里就不阐述了,跟着高德地图的demo走完全可以做到定位,获取经纬度,城市;

1,定位成功后,显示当前位置

当定位成功获取到经纬度,可以通过经纬度,在地图上边添加一个系统默认的点当做我的位置,可以自己写个marker,也可以用系统的,但是如果是你自己写的话,需要注意以下几点

-
- aMap.addMarker(markerOptions);
aMap.moveCamera(CameraUpdateFactory.changeLatLng(latLng));
aMap.moveCamera(CameraUpdateFactory.zoomTo(15));

当move在这个位置的时候其实算是地图的一次移动,所以如果你的aMap添加了地图当前可视范围监听的接口时候,它就会走一遍那个接口
    aMap.setOnCameraChangeListener(this);
所以如果你想根据地图的改变做些事情,比如更新周边商家信息,地理位置等,你需要注意了

2, 地图中间放置大头针

    然后我们可以看到qq和微信都有一个大头针始终在地图的中间,一直都没有动过,这里我用了个取巧的办法就是在布局文件中添加了一个iamgeview,放在地图的中间,但是因为有标题栏,所以具体的位置需要具体的微调,算是一个小bug,手机型号不同,位置可能也不同.经过微调后位置应该与当前marker的位置相同,具体逻辑就不进行展示了,无非是一个framlayout里边添加地图控件和中心位置设置iamgeview

3, 周边展示

     周边搜索的逻辑可以通过高德地图跟着方法走完全没有问题,注意里边一个方法的参数问题:PoiSearch.Query query = new PoiSearch.Query("", "餐饮服务|商务住宅|生活服务", "");// 第一个参数表示搜索字符串,第二个参数表示poi搜索类型,第三个参数表示poi搜索区域(空字符串代表全国)query.setPageSize(15);// 设置每页最多返回多少条poiitemquery.setPageNum(currentPage);// 设置查第一页PoiSearch poiSearch = new PoiSearch(this, query);poiSearch.setOnPoiSearchListener(this);poiSearch.setBound(new PoiSearch.SearchBound(latLonPoint, 500, true));//poiSearch.searchPOIAsyn();// 异步搜索在创建这个搜索类的时候要注意它的三个参数,上边已经标注,我们要注意的是三个参数前两个是必须要求填写一个的,第一个是关键字搜索,第二个是类型搜索,如果不了解有什么类型可以去官方文档查看,已经列举出来了,最后一个是区域范围限制,这里我试着填写城市,但是给我的地址不是从近到远的,所以直接传入空字符串当搜索完毕后我们一个通过一个listview或者recycleview进行展示,设置点击事件等

4, 周边信息点击后的操作

    我们看qq或者微信点击下方位置,位置上右边的图标会变,地图中心改变,我的当前位置marker不变,这里我在传入listview值的时候,传入一个boolean值表示是否被选中,然后点击进行遍历切换,简单粗暴,boolean值控制item右边显示或者隐藏,当点击时候,如果你的amap实现了setOnCameraChangeListener(this);方法那么就只需要aMap.moveCamera(CameraUpdateFactory.changeLatLng(latLng));但是这里我们不想在移动的时候再进行搜索,所以要在onCameraChangeFinish()执行搜索逻辑前进行判断,设置boolean值,需要的时候才进行搜索

5,地图截屏

    地图截屏功能高德地图已经给出api,但是没有具体说我截出来的图片是什么样的图片,其实就是把mapview上所有的画面全部截取下来存到本地,一个方法就搞定了
  aMap.getMapScreenShot(this);

6,发送图片信息到服务器或者其他页面

    一切都准备就绪,我们这里有bitmap,但是不能讲bitmap传入其他页面,因为intent只能传递小的数据,如果传的数据过大就会没有反应,所以我们在地图截屏后,要保存当前存储的sd卡的位置,将位置和定位返回的PoiItem类传递给其他页面,如果是发送服务器,可能只需要截屏的位置和经纬度,方便点击下次进入地图定位.

7,获取展示
这个就非常简单了,使用任何viewgroup包括住一个textview和imageview,然后settext和setimage就好了
到此高德地图集成完毕,下边献上完整demo,里边还有6.0请求权限逻辑

完整demo地址:http://download.csdn.net/detail/qq_36428697/9759293
作为安卓初学者,我想说的是,虽然我们前边牛人很多,但是谁说一定要做个什么都会的牛人,我觉得我要做的只是踏实的走出每一步,找到存在感,丰富自己就好了,所以,适应压力,享受学习,快乐工作,加油,程序猿们;

高德地图实现仿qq,微信发送位置功能实现逻辑相关推荐

  1. Android使用百度地图sdk,实现微信发送位置功能

    1.效果如下: 2.主要代码 //拖动停止的时候,获取中心经纬度 mapView.map.setOnMapStatusChangeListener(object : BaiduMap.OnMapSta ...

  2. android开发百度地图坐标偏差,利用百度地图Android sdk高仿微信发送位置功能及遇到的问题...

    接触了百度地图开发平台半个月了,这2天试着模仿了微信给好友发送位置功能,对百度地图的操作能力又上了一个台阶 我在实现这个功能的时候,遇到一些困难,可能也是别人将会遇到的困难,特在此列出 1.在微信发送 ...

  3. 腾讯地图仿微信发送位置功能

    以下内容转载自面糊的文章<模仿微信发送位置功能> 作者:面糊 链接:https://www.jianshu.com/p/47b3ada2e36d 来源:简书 著作权归作者所有.商业转载请联 ...

  4. 腾讯位置服务仿微信发送位置功能

    以下内容转载自面糊的文章<模仿微信发送位置功能> 作者:面糊 链接:https://www.jianshu.com/p/47b3ada2e36d 来源:简书 著作权归作者所有.商业转载请联 ...

  5. 腾讯位置服务教你轻松搞定微信发送位置功能

    以下内容转载自面糊的文章<模仿微信发送位置功能> 作者:面糊 链接:https://www.jianshu.com/p/47b3ada2e36d 来源:简书 著作权归作者所有.商业转载请联 ...

  6. 腾讯位置服务模仿微信发送位置功能

    以下内容转载自面糊的文章<模仿微信发送位置功能> 作者:面糊 链接:https://www.jianshu.com/p/47b3ada2e36d 来源:简书 著作权归作者所有.商业转载请联 ...

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

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

  8. 利用百度地图Android sdk高仿微信发送位置功能

    接触了百度地图开发平台半个月了,这2天试着模仿了微信给好友发送位置功能,对百度地图的操作能力又上了一个台阶    我在实现这个功能的时候,遇到一些困难,可能也是别人将会遇到的困难,特在此列出 1.在微 ...

  9. Android+SpringBoot+Vue+高德地图实现后台查看车辆实时位置功能

    场景 通过给车辆的驾驶员的手机安装app,管理员在后台可以实时查看车辆的实时位置. 实现思路: app中集成高德地图,app启动登录后,定时地获取当前定位信息连同当前账号上传到服务器后台. 后台将获取 ...

最新文章

  1. Grails示例程序-导出Excel文档
  2. case when 多条件_3年前的设计如今被iPhone强推 PITAKA磁吸生态设计的前瞻性到底有多可怕?...
  3. RDLC 格式化文本内容
  4. SpringBoot的MyBatis generator 注解方式和xml方式 (四)
  5. Ubuntu16.04: 和 Windows-7 双系统启动顺序更改
  6. c语言divide error,Python numpy.corrcoef()RuntimeWarning:在true_divide中遇到无效值c / = stddev [:,None]...
  7. 哈佛大学推荐:让自己变幸福的20件小事(值得收藏)
  8. 萌新误入AI歧途怎么办?MIT博士小哥哥给你指条明路
  9. 视觉注意力的循环神经网络模型(Recurrent Models of Visual Attention)
  10. robotframework的测试登陆界面代码
  11. python里面pop代码什么意思_python里的pop是什么
  12. 服务器——SSL/TLS协议信息泄露漏洞(CVE-2016-2183)修复办法
  13. 对平稳马尔可夫链(stationary distribution of a Markov chain)的学习
  14. python整数和浮点数
  15. vue垂死挣扎系列(一)——vue-cli快速搭建
  16. 谷歌机器翻译Attention is All You Need
  17. Python基础知识(5)控制流程
  18. 傅里叶分析(基础介绍)
  19. 2019滴滴前端面试总结(一面)
  20. BZOJ1132: [POI2008]Tro

热门文章

  1. 创业起步阶段需要注意什么?
  2. Excel图表7——漏斗图
  3. 用EXCEL宏编写坐标转换
  4. ov5640帧率配置_玩《和平精英》为什么要开高帧数?90帧的游戏射速你体验过吗?...
  5. 1379690-01-3,3-Azido-D-alanine HCl结构式分享
  6. java 终端窗口是什么,java程序如何打开命令行窗口?java程序怎么运行?
  7. 论文 | 科研软件 —— Microsoft VisioPro 2019安装及注册教程
  8. 有python专业的世界大学_2020年QS计算机专业排名进入世界前50的,除了G5,还有这所大学!...
  9. 『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现...
  10. Oracle--优化