关于百度地图天地图拖拽之后不能点击, 无法触发点击, 拖拽和点击事件冲突

595 阅读1分钟

这个问题大概是除开移动端返回问题外, 第二个比较恶心的问题了, 改过天地图压缩之后的源码,并没有解决问题

问题描述: 在部分手机(魅族)会出现, 进入天地图里面拖拽后点击事件无法触发

解决方法: 没有找到该问题导致的具体原因;

  1. 经过多次调试发现, 虽然没有能触发click事件, 但是能够触发touchstart等移动端的touch事件, 所以想办法, 将click事件重写, 改为touchstart来代替
  2. 通过zepto里面的touch来替换原有的click事件
  3. 在初始化地图中的marker的时候, 可以拿到初始化之后的dom元素, 然后通过给该dom元素添加事件即可, 这样就能够正常的触发.
  4. 完美解决. 不足: 虽然能够解决svg或者dom的点击事件, 但是不能解决canvas绘制出来的聚集点, 因为只能拿到canvas画布, 不能触发具体某个点的点击事件.
  5. 多思考, 你能用更巧妙的方法来解决问题. 不要太相信网上的, 只有真正实践过,适合自己的才是有用的.
  6. 多看看人家源码, 自己封装的tap事件, 总是有许多问题

提供几个当时搜索到的感觉比较有用的网址, 虽然最后都没能行

blog.csdn.net/milli236/ar…

blog.csdn.net/m0_37967720…