关于百度地图marker的点击事件

2023-10-31

在最开始学习使用百度地图,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);

最后完美解决









本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于百度地图marker的点击事件 的相关文章

  • windows下如何恢复notepad未保存的文件

    notepad恢复未保存的文件 备份文件 C Users 你当前用户的用户名 AppData Roaming Notepad backup可以恢复 如果找不到此文件 因为文件被隐藏了 打开隐藏文件即可
  • tomcat 和 apache跟CGI都有什么关系呢?

    tomcat 和 apache跟CGI都有什么关系呢 IIS和古老的PWS都是win下运行的 web服务程序 对吧 这下边跑的是 asp对吧 这些不会跨平台对吧 web服务程序 是 apache还是tomcat 呢 jsp跟 asp是一种功
  • 简搭(jabdp)快速入门(一)

    一 文件夹说明 本应用包为绿色免安装版本 只需要将本jabdp文件夹复制至系统英文名称目录下即可 mysql目录为默认集成的数据库目录 webapps目录为应用程序所在目录 其中设计器包含ae与iDesigner工程 项目平台包含iPlat
  • JAVA 内部类 inner class

    内部类 在一个类的内部定义的类称为内部类 类的内部 第一 与属性或方法 同级 内部类 这个类与外部类的每个对象是一对一的关系 Person与Birthday 静态内部类 这个类与外部类是1对1的关系 每个对象共享这个内部类对象 Hero和C
  • 编程实用工具大全(二)(前后端皆可用,不来看看?)

    个人主页 个人主页 系列专栏 精品推荐 由于之前编程实用工具大全深受大家喜欢 所以出了第二期 对于没有看过第一期的小伙伴 可以点击这个链接 编程实用工具大全 一 目录 1 零代码工具箱 专为前端打造 1 SVG波浪背景生成器 2 在线生成
  • Activity启动流程概述

    总结 Activity的启动过程 我们可以从Context的startActivity说起 其实现是ContextImpl的startActivity 内部调用startActivityForResult 然后内部会通过Instrument
  • Mathpix公式识别OCR软件使用教程

    最近 发现一款公式识别OCR软件 配合Mathtype 公式编辑器 非常好用 省去很多时间 所以就写一篇文章介绍Mathpix的使用方法 1 打开Mathpix软件后 可以鼠标单击下图中小电脑图标进行截图 也可以使用快捷键Ctrl Alt
  • IntelliJ IDEA基于maven构建的web项目找不到jar包

    手把手教你搭建基于Maven的SSM框架 附源代码 SSM框架 详细整合教程 GitHub源码地址 SSM整合框架 基于maven构建的springMVC项目 下载好jar包import后 运行提示ClassNotFoundExceptio
  • 数仓/数据开发-零基础入坑(小白学习路径)

    这段时间各大公司的春招陆续开始了 但是也有很多同学还在因为刚刚入坑或者还在纠结 对学习路径比较迷茫 这也是去年的我 所以这边总结一下 一个面向面试的学习路径 后面也会补充上全面的学习路径 面向面试就是掌握到基本能应付暑期实习面试的基本技能和
  • 论文笔记之CSPNet

    本文解决的是减少推理计算的问题 本文收录于CVPR2019 论文地址 https arxiv org pdf 1911 11929 pdf 1 摘要 目前最先进的能够在计算机视觉任务上取得非常好的结果的方法往往很大程度上依赖于昂贵的计算资源
  • Window Server IIS日志导入到SQL Server查看

    配置ODBC log日志可以导出到提供ODBC访问接口的数据库查看 控制面板 ODBC 添加DSN gt SQL Server 起个名称 随意命名 下一步 选择数据库 下一步 默认就行 点完成 测试数据源 点击确定 点击应用 确定 打开lo
  • Error:Could not create the Java Virtual Machine. Error:A Fatal exception has occurred错误解决

    问题情况 出现以上情况 可以通过以下方式进行解决 1 判断机子是否安装了Java环境 确定自己已经设置环境变量 如JAVA HOME CLASSPATH PATH 2 有些程序会有内存设置 有些程序内存设置过大时 超过虚拟机的范围会报错 3
  • 剑指offer——剪绳子

    题目描述 给你一根长度为n的绳子 请把绳子剪成整数长的m段 m n都是整数 n gt 1并且m gt 1 每段绳子的长度记为k 0 k 1 k m 请问k 0 xk 1 x xk m 可能的最大乘积是多少 例如 当绳子的长度是8时 我们把它
  • Backtrader量化&回测5——交易情况跟踪&生成策略每日交易报告

    这一部分的API可以参考官网 https www backtrader com docu strategy Backtrader的策略中有四个常用的函数 notify order order 订单状态变化时会触发这个函数 notify tr
  • get请求传参 数组

    假设现在有数组arr 1 2 axios中如果直接使用数组传参 会出现参数中数组变成arr 1 arr 2的情况 实际上后端需要的是arr 1 arr 2的效果 这个时候可以使用axios里面的qs 导入 import qs from qs
  • 数据中心如何助力大数据、区块链、人工智能结合应用,推动数字经济发展?

    同属新基建重点点名发展的技术高地 大数据 区块链 人工智能之间有联系吗 数据中心如何承担技术底座的作用 以促进这些新兴技术的结合发展和应用 继而推动数字经济的发展 用人体来比喻 我们人类的各个器官感知世间万物的一切 大数据 经过人体经络 区
  • 2019年国赛高教杯数学建模E题薄利多销分析解题全过程文档及程序

    2019年国赛高教杯数学建模 E题 薄利多销分析 原题再现 薄利多销 是通过降低单位商品的利润来增加销售数量 从而使商家获得更多盈利的一种扩大销售的策略 对于需求富有弹性的商品来说 当该商品的价格下降时 如果需求量 从而销售量 增加的幅度大
  • 解决 Error querying database. Cause: java.sql.SQLException: sql injection violation....

    解决 Error querying database Cause java sql SQLException sql injection violation 最近在开发的时候老板的需求就是将模糊搜索和PageHelper 结合起来将数据显示
  • Vuex状态管理

    1 vuex是什么 Vuex 是一个专为 Vue js 应用程序开发的状态管理模式 集中式存储管理应用的所有组件的状态 简单的状态管理模式 state 驱动应用的数据源 view 以声明方式将 state 映射到视图 actions 响应在
  • 电脑安装两个jdk版本无法切换 同时安装JDK8和JDK16 配置JAVA_HOME为JDK8但 java 和 javac 版本都是16

    JDK8是目前最稳定使用最多的版本 大厂开发都使用JDK8 JDK16是目前最新版 问题描述 同一台电脑同时安装了JDK8和JDK16 先安装了JDK16后安装的JDK8 设置JAVA HOME指定给JDK8版本 但是java 和 java

随机推荐