标签:接收 rom z-index progress position 邮箱 add indent fonts
接触了百度地图开发平台半个月了,这2天试着模仿了微信给好友发送位置功能,对百度地图的操作能力又上了一个台阶
(假设须要完整demo。请评论留下邮箱)
(眼下源代码已经不发送,假设须要源代码。加qq316701116,不喜勿扰)
我在实现这个功能的时候,遇到一些困难,可能也是别人将会遇到的困难,特在此列出
1、在微信发送功能中,无论用户怎样拖拽地图。总有个覆盖物固定了MapView中央,怎么实现?
事实上这非常easy实现。仅仅要MapView的布局文件里。将一个ImageView覆盖在MapView的中央,就行实现无论用户怎样拖拽地图。覆盖物(ImageView)总固定总MapView中央
2、怎样获取MapView中央的地理坐标。也即是屏幕覆盖物处的坐标?
要获取MapView中央的地理坐标,首先先获取覆盖物在屏幕上的物理坐标。这里得差别一下地理坐标(经纬度)和物理坐标(xy轴);
能够通过
3、怎样获取该地理坐标周围的全部poi信息(也就是周围建筑物的信息),而不仅仅是某个类型的兴趣点?
为了实现这个功能,真是费了我好大劲,由于我之前一直以为用POI周边搜索实现的,有人提示我能够通过循环轴线搜索实现不同keyword搜索,但这样子确实非常难实现跟微信那样的效果。通过查看API,发现能够通过反地理编码解决问题,至于什么事反地理编码,能够到百度地图官网了解,通过调用它。能够返回一个该地理坐标附近建筑信息的一个列表
4、当用户拖拽地图,怎样让列表更新到眼下中心地理位置的周边信息?
这个困难事实上也不难实现。仅仅是重写mBaiduMap.setOnMapTouchListener(touchListener);触摸事件,在触摸监听器的回调函数中
将MapView中央的物理坐标转换成相应的地理坐标,再通过反地理编码获取周边信息。道理同问题3
5、当点击listview某一项时。怎样将项地理位置显示在MapView也就是屏幕中央?
非常easy,通过listview的适配器获取item的位置信息,包含经纬度。然后用动画跳转到屏幕中央位置就可以。
我觉得上面5个问题是实现这个功能的关键所在,以下是效果图(假设须要完整demo,请评论留下邮箱)
上面是一个MapVIew。覆盖物固定在当中央,地图左下角的白色正方形是回到定位点的button。由于没找到好看的图片,就留着空白了
以下是一个listView。显示地图指示地点周围的一些位置信息
贴一下实现该功能的核心代码
Activity类
> parent, View view, int position,
自己定义的listView适配器
标签:接收 rom z-index progress position 邮箱 add indent fonts
原文地址:http://www.cnblogs.com/cynchanpin/p/6877087.html