怎么在Html5中实现百度地图的点击事件

  介绍

怎么在Html5中实现百度地图的点击事件?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

根据百度地图官方解释,在移动端H5页面中可监听下面这4个事件:

touchstart, touchmove, touchend, longpress

怎么在Html5中实现百度地图的点击事件

而如果地图上监听了点击事件,在移动端是不会执行这个事件里面的代码的。

我之前做一个需求时,给地图监听了touchend事件,不曾想当我拖动地图时,也执行了touchend里的代码,所以需要模拟一个像zepto中的丝锥事件,就能解决这个问题了。

我的代码是:

function  initMap (baseData), {   ,,,var  mp =, new  BMap.Map(& # 39;地图# 39;);   ,,,var  point =, new  BMap.Point (   ,,,,,baseData.data.gardenLongitude,   ,,,,baseData.data.gardenLatitude   ,,,);      ,,,mp.centerAndZoom(点,15);      ,,,//,保存,touch 对象信息   ,,,var  obj =, {};      ,,,mp.addEventListener (& # 39; touchstart& # 39;,, function  (e), {   ,,,,,obj.e =, e.changedTouches  ?, e.changedTouches [0],:, e;   ,,,,,obj.target =, e。target;   ,,,,,obj.time =, Date.now ();   ,,,,,obj.X =, obj.e.pageX;   ,,,,,obj.Y =, obj.e.pageY;   ,,,});      ,,,mp.addEventListener (& # 39; touchend& # 39;,, function  (e), {   ,,,,,obj.e =, e.changedTouches  ?, e.changedTouches [0],:, e;   ,,,,,if  (   ,,,,,,,obj.target ===, e.target ,,   ,,,,,,,   ,,,,,,,//,大于,750,可看成长按了   ,,,,,,,((Date.now(),安康;obj.time), & lt;, 750),,,   ,,,,,,,   ,,,,,,,//,应用勾股定理判断,如果,touchstart 的点到,touchend 的点小于,15日就可当成地图被点击了   ,,,,,,,(Math.sqrt (Math.pow (obj.X 安康;obj.e.pageX,, 2), +, Math.pow (obj.Y 安康;obj.e.pageY,, 2)), & lt;, 15)   ,,,,,),{   ,,,,,,,//,地图被点击了,执行一些操作   ,,,,,,,doSomething ();   ,,,,,}   ,,,});   以前,,}

关于怎么在Html5中实现百度地图的点击事件问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

怎么在Html5中实现百度地图的点击事件