高德地图添加Marker后返回当前位置
来源:互联网 发布:淘宝苹果id代充 编辑:程序博客网 时间:2024/06/01 07:45
今天实在是被坑到了。。。留个记录。。
我是用在poi搜索后要把数据添加到地图上。只贴部分代码。
@Override public void onPoiSearched(PoiResult result, int errorCode) { if (errorCode == 1000) {//成功 Log.d(TAG, "onPoiSearched: "); if (result != null && result.getQuery() != null) { ArrayList<PoiItem> pois = result.getPois();// 取得第一页的poiitem数据,页数从数字0开始,前面设置每页15条数据 if (pois != null && pois.size() > 0) { ArrayList<MarkerOptions> markerOptionsList = new ArrayList<>(); LatLngBounds.Builder boundsBuilder = new LatLngBounds.Builder(); for (int i = 0; i < pois.size(); i++) { MarkerOptions markerOptions = new MarkerOptions(); markerOptions.position(new LatLng(pois.get(i).getLatLonPoint().getLatitude(), pois.get(i).getLatLonPoint().getLongitude()));//经纬度 markerOptions.icon(BitmapDescriptorFactory.fromResource(R.mipmap.icon_map_mark_unselect)); markerOptions.title(pois.get(i).getTitle()); markerOptions.snippet(pois.get(i).getSnippet()); markerOptionsList.add(markerOptions); boundsBuilder.include(new LatLng(pois.get(i).getLatLonPoint().getLatitude(), pois.get(i) .getLatLonPoint().getLongitude())); } LatLngBounds bounds = boundsBuilder.build(); mMap.clear(true);//清理之前地图上所有图标 ArrayList<Marker> markers = mMap.addMarkers(markerOptionsList, true); mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 10)); } else { ToastUtils.showToast(mContext, R.string.no_result); } } else { ToastUtils.showToast(mContext, R.string.no_result); } } else { ToastUtils.gaodeShowError(mContext, errorCode); } }
问题就出在那句mMap.clear(true);//清理之前地图上所有图标
每次从搜索页返回,然后先是屏幕移动到marker的坐标位置,然后又自己返回当前坐标的marker位置。。。找了各种生命周期,检查各个部分代码才发现是这个东西坑了。。。
看下高德地图的官方api
他写的应该还是蛮清楚的
两种:
一:默认是clear(false)就是上面那个,把所有东西都删了(包括当前坐标的那个marker)
二:除了当前坐标的那个marker其他全删了。
我一开始一直用clear()(上面那个),结果会产生自动返回当前坐标位置的现象(就是当前坐标移动到屏幕中心点),我猜是把当前坐标的marker清除了并同时又开着定时定位,然后会自动激活某些东西(但是api上没说。。。)
最后我用clear(true),就不会出现问题了。
1 0
- 高德地图添加Marker后返回当前位置
- 高德地图添加Marker点标记
- 高德地图Marker的管理(添加,删除)
- 关于高德地图添加Marker遇到的一些坑
- android 高德地图 点击marker后,该marker不会成为中心点
- 高德地图之地图篇----->定位的蓝点、添加Marker
- 高德地图:点击Marker,如何避免marker移动
- javascript高德地图实现点击marker消失marker
- Android高德地图,添加Marker会遮挡小蓝点,只需设置一个属性,可以让小蓝点显示在Marker上
- 高德地图自定义Marker显示文字
- 高德地图 AndroidSDK 自定义Marker
- 高德地图自定义Marker显示文字
- 高德地图多点标记 marker JSAPI
- 高德地图自定义marker图片相关
- 高德地图自定义定位当前位置按钮
- 高德地图(二)之显示定位,比例尺和添加Marker
- 高德地图API开发应用-----地图显示+定位+marker
- 高德地图-地图中心固定Marker,Marker跳跃、掉落、生长动画
- 第七周项目3-用多文件组织多个类的程序
- 聚类算法评价指标
- poj 1190 生日蛋糕(dfs 剪枝)
- location.href的用户总结
- Android编程日记
- 高德地图添加Marker后返回当前位置
- Nmap扫描
- 复赛模拟试题 - 收费站 Dijkstra迪杰斯特拉+二分答案法 重庆一中高2018级竞赛班第九次测试 2016.9.10 Problem 4
- Python笔记
- JS和jQ的总结--事件
- 第八周项目2-用对象数组操作长方柱类
- 按照 老罗博客学习安卓 记录 (3)
- ubuntu 下 的virtualbox 安装的问题
- 解决Spring MVC @ResponseBody返回中文字符串乱码问题