漏刻有时百度地图API实战开发(1)华为手机无法使用addEventListener click 的兼容解决方案

  1. 漏刻有时百度地图API实战开发(1)华为手机无法使用addEventListener click 的兼容解决方案
  2. 漏刻有时百度地图API实战开发(2)文本标签显示和隐藏的切换开关
  3. 漏刻有时百度地图API实战开发(3)自动获取地图多边形中心点坐标
  4. 漏刻有时百度地图API实战开发(4)显示指定区域在移动端异常的解决方案
  5. 漏刻有时百度地图API实战开发(5)区域限制移动端鬼畜抖动的解决方案
  6. 漏刻有时百度地图API实战开发(6)多个标注覆盖层级导致不能响应点击的问题
  7. 漏刻有时百度地图API实战开发(7)JavaScript开源库几何运算判断点是否在多边形内(电子围栏)
  8. 漏刻有时百度地图API实战开发(8)圆形区域周边搜索地图监听事件(覆盖物重叠显示层级\图像标注监听事件、setZIndex和setTop方法)

现象

漏刻有时项目开发中的调用了百度地图API,在PC端、IOS和安卓机型测试都没有问题。但是使用华为手机部分型号时,前端在监听点击事件的时候是使用 map.addEventListener('click',function(){...}),无法触发。或

原理

通过监听touchstart和touchmove两个事件中,x1,y1和x2,y2的差值(绝对),如果大于10px那么认为是拖动,否则认为是点击。

监听方式

在JavaScript中,map.addEventListener用于在Map对象上添加事件监听器。使用各种类型的事件,比如点击(click)、鼠标悬停(mouseover)等。当在地图上点击时,会触发一个事件,然后调用提供的函数。这个函数接收一个事件对象,从中可以获取关于被点击地点的信息。

当然,也可以绑定其他的事件,比如mouseover、mouseout等,只需要将事件类型替换即可。

javascript 复制代码
    //地图监听事件
    map.addEventListener('click', function (e) {
        var targets = e.overlay;
        //清除覆盖物;
        map.clearOverlays();
        var x = e.point.lng;
        var y = e.point.lat;
        var newPoint = new BMap.Point(x, y);
    })

解决方案

javascript 复制代码
    /*安卓手机端监听无效事件 - Begin*/
    map.addEventListener("touchmove", function (e) {
        map.enableDragging();
    });
    map.addEventListener("touchend", function (e) {
        map.disableDragging();
    });
    map.disableDragging();
    map.enableScrollWheelZoom(true);
    /*安卓手机端监听无效事件 - End*/

参考链接:


@漏刻有时

相关推荐
剑客自媒体9 小时前
社保卡照片怎么用手机上传?尺寸和背景色有什么要求?
python·智能手机
wanhengidc12 小时前
云手机中虚拟技术的功能
运维·服务器·网络·安全·web安全·智能手机
前端不太难12 小时前
一套鸿蒙 App,如何跑在手机 / 平板 / TV?
智能手机·电脑·harmonyos
晶台光耦1 天前
光耦应用 | 晶台光耦在手机充电头里的应用
智能手机
2601_954706491 天前
2026 云手机五款横评:傲晨云、多多云、六边云、川川云、桃心云实测,全能首选无悬念
智能手机
小猫爱游戏1 天前
theone陪伴ai手机版免费版下载安装教程附带最新邀请码theone陪伴ai设定教程接入下载使用教程手机版安卓版app鸿蒙版苹果版IOS电脑版安装包下载地址
android·人工智能·智能手机·theone陪伴ai·theone陪伴ai下载·免费下载安装·接入微信教程
号码认证服务1 天前
企业固话号码认证能覆盖哪些手机品牌?支持华为、小米、OPPO、vivo等机型
服务器·网络·经验分享·python·华为·智能手机·云计算
2zcode1 天前
基于改进YOLOv5n与OpenVINO加速的课堂手机检测系统设计与实现
yolo·智能手机·openvino
号码认证服务1 天前
如何让来电显示公司名代替陌生数字号码?企业号码认证开通指南
服务器·c语言·网络·经验分享·智能手机·云计算·php
largecode2 天前
怎么让手机显示公司名?来电显示公司名称认证实现品牌外显
linux·ubuntu·华为od·华为·智能手机·华为云·harmonyos