(10.14更新)关于高德地图安卓SDK的一些使用细节坑(包括Marker与缩放地图)
来源:互联网 发布:上海大数据开放平台 编辑:程序博客网 时间:2024/06/06 11:03
高德的SDK相对百度来说,接口更多,国内使用的范围也更大。但个人感觉其开发文档很多地方说的不够详细,甚至是错误的,不方便大家进行开发,只能靠社区来自救。
这里列举几个地方。
- 在对AMap对象进行一些操作的时候,如设置监听器等,回调函数中有marker参数,在做和现有marker做比较的时候,要用
equals()
(不能直接对两个引用进行比较,内部已经复写了equals()
)。 - marker上设置了按下监听器以及弹出infoWindow的时候,需要在监听器内写入
showInfoWindow()
,并且完成title的设置,不然会导致监听后弹不出窗口(估计默认下就是通过默认监听器来操作的,创建了新监听器后,原弹出逻辑被复写掉了)。 - 这个和Marker无关,但也是官方文档没说清楚的地方,开发包的权限需要多添加一个
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
不然就是不停地报java.lang.SecurityException: WifiService: Neither user ......
(这个有可能是版本导致的问题,我的最低版本为5.1,地图依赖包为3D地图V5.40) - 被设计用来控制缩放的接口函数是
CameraUpdateFactory.zoomTo()
,传入的参数是3-19的缩放等级。但是这个API在3D地图下不稳定,有时候行有时候不行的。个人给出的解决方案是,为mLocationClient设置一个LocationListener(通过new AMapLocationClient(activity.getApplicationContext())
来获得Client)。在这个监听器内获得当前的坐标aMapLocation.getLatitude()
,aMapLocation.getLongtitude()
,
然后调用aMap.moveCamera(CameraUpdateFactory.newCameraPosition(new CameraPosition(new LatLng(lATITUDE, lONGTITUDE), 17, 0, 0)));
进行镜头定位与缩放。然后在外部做一个第一次监听才移动镜头的逻辑。(很不优雅,但是有效)。
如果还是没有效果,检查下自己的地图myLocationStyle.myLocationType()
设置是否使用了自带的视角移动行为,因为是异步操作,有可能会导致自己缩放完毕后,又发生了上面这个函数的缩放行为,从而导致无效
阅读全文
0 0
- (10.14更新)关于高德地图安卓SDK的一些使用细节坑(包括Marker与缩放地图)
- 关于高德地图添加Marker遇到的一些坑
- 百度地图 Android SDK - 标注(Marker)的基本使用
- 百度地图 Android SDK - 标注(Marker)的基本使用
- Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
- Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
- Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
- Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
- Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
- Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
- 【百度地图】 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
- Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
- Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
- Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
- Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
- BaiduMap---百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
- Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
- Android 百度地图 SDK v3.0.0 (三) 添加覆盖物Marker与InfoWindow的使用
- python 读写csv文件
- Kubernetes 架构及基础概念
- Android Setting 设置项添加到快速搜索
- Eclipse+Maven+Struts2+strusts拦截器实现上传多个文件
- codeforces 863B 之 Kayaking
- (10.14更新)关于高德地图安卓SDK的一些使用细节坑(包括Marker与缩放地图)
- 工程管理器Makefile和文件处理类命令补充
- Canvas的基本使用——常用的Api方法介绍(二)
- 树莓派扩展swap分区以及安装htop
- HDU 4513 吉哥系列故事――完美队形II(manacher)
- 3.3 Linux头文件和库的搜索路径
- 9.25 笔记-linux命令使用
- POJ 1274 The Perfect Stall
- sdut 1466 双向队列