关于百度地图marker的点击事件
来源:互联网 发布:知金网络教育 编辑:程序博客网 时间:2024/04/30 11:51
在最开始学习使用百度地图,marker的点击事件,很容易实现点击弹出框;
像这样:
baiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() { @Override public boolean onMarkerClick(Marker marker) { baiduMap.showInfoWindow(infoWindow); return false; }});这样的确是实现了点击事件,并弹出气泡框,没什么问题;可是问题出现在,当我的数据源会刷新的时候,就会出现问题了,当我刷新4次数据源之后,发现点击marker会出现明显的卡顿现象,最开始怀疑是弹出框的问题,后面排除了,怀疑是marker没有清除,所以就加上多个:
baiduMap.clear();
然而还是卡顿,百度一下说是set多次listener,所以就开始验证:
baiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() { @Override public boolean onMarkerClick(Marker marker) { Log.e("MARKER","点击事件开始"); LocationBean useBean = (LocationBean) marker.getExtraInfo().getSerializable(AppCons.TEST_USE); //读取存到marker里面的数据 position = marker.getExtraInfo().getInt("position"); getAdd(position, useBean); Log.e("MARKER","点击事件结束");
果然。log打印:
05-27 11:52:18.163 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件开始
05-27 11:52:18.173 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件结束
05-27 11:52:18.173 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件开始
05-27 11:52:18.173 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件结束
05-27 11:52:18.173 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件开始
05-27 11:52:18.183 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件结束
05-27 11:52:18.183 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件开始
05-27 11:52:18.183 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件结束
05-27 11:52:18.183 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件开始
05-27 11:52:18.193 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件结束
05-27 11:52:18.193 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件开始
05-27 11:52:18.193 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件结束
05-27 11:52:18.193 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件开始
05-27 11:52:18.203 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件结束
05-27 11:52:18.203 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件开始
05-27 11:52:18.203 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件结束
05-27 11:52:18.203 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件开始
05-27 11:52:18.203 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件结束
05-27 11:52:18.203 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件开始
05-27 11:52:18.213 15287-15287/com.example.maptest.mycartest E/MARKER: 点击事件结束
所以的确是set之后没有移除;就自己在写一个listener实现点击事件:
private final class OnMarkerClickListeners implements BaiduMap.OnMarkerClickListener
在每次刷新的时候移除listener:
baiduMap.removeMarkerClickListener(onMarkerClickListener);
最后完美解决
- 关于百度地图marker的点击事件
- php的百度地图应用marker及点击事件,searchInfoWindow
- 如何区分多个百度地图marker的点击事件
- Android百度地图(多个marker的点击事件)
- 百度地图API 移动的marker,移动marker点击事件及动态改变速度
- 百度地图3.0以上版本标注marker及其点击事件
- 百度地图marker标记即行车路线规划和marker点击气泡事件
- android集成百度地图定位、poi检索、marker标记功能,以及marker点击事件
- 百度地图Marker的定位和方向
- Android百度地图3.0.0点击Marker弹出覆盖物
- Android 百度地图自定义marker 控件点击无效问题解决方法。
- 百度地图+Marker纠偏
- 百度地图,自定义Marker
- 百度地图marker
- 关于百度地图InfoWindow响应自定义布局点击事件
- 高德地图设置Marker点击事件注意事项.
- 百度地图-点击事件问题
- 百度地图PopupOverlay点击事件
- CentOS下使用yum命令安装计划任务程序crontab
- Oracle服务详解
- Android自定义控件TextView---之实现drawableLeft图片和文字一起居中
- 使用Vue-Router 2实现路由功能
- 启动数据库审计+oracle11g的审计+查看审计的方式+参数audit_trail的值+修改参数的值+启用审计的步骤
- 关于百度地图marker的点击事件
- Android跳转设置页面
- java8 stream理解(2)
- 通过Spring Session实现新一代的Session管理
- Vue.js学习系列一 —— vue-router2学习实践笔记(附DEMO)
- Java集合
- C++ const引用、临时变量 引用参数
- 移植Linux3.4.2版本内核到mini2440
- 读《JAVA并发实践》笔记---前记以及想要说的话