- 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開發(fā)(1)華為手機(jī)無法使用addEventListener click 的兼容解決方案
- 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開發(fā)(2)文本標(biāo)簽顯示和隱藏的切換開關(guān)
- 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開發(fā)(3)自動(dòng)獲取地圖多邊形中心點(diǎn)坐標(biāo)
- 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開發(fā)(4)顯示指定區(qū)域在移動(dòng)端異常的解決方案
- 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開發(fā)(5)區(qū)域限制移動(dòng)端鬼畜抖動(dòng)的解決方案
- 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開發(fā)(6)多個(gè)標(biāo)注覆蓋層級(jí)導(dǎo)致不能響應(yīng)點(diǎn)擊的問題
- 漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開發(fā)(7)JavaScript開源庫幾何運(yùn)算判斷點(diǎn)是否在多邊形內(nèi)(電子圍欄)
-
漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開發(fā)(8)圓形區(qū)域周邊搜索地圖監(jiān)聽事件(覆蓋物重疊顯示層級(jí)\圖像標(biāo)注監(jiān)聽事件、setZIndex和setTop方法)
現(xiàn)象
漏刻有時(shí)項(xiàng)目開發(fā)中的調(diào)用了百度地圖API,在PC端、IOS和安卓機(jī)型測試都沒有問題。但是使用華為手機(jī)部分型號(hào)時(shí),前端在監(jiān)聽點(diǎn)擊事件的時(shí)候是使用 map.addEventListener('click',function(){...})
,無法觸發(fā)。或
原理
通過監(jiān)聽touchstart和touchmove兩個(gè)事件中,x1,y1和x2,y2的差值(絕對(duì)),如果大于10px那么認(rèn)為是拖動(dòng),否則認(rèn)為是點(diǎn)擊。
監(jiān)聽方式
在JavaScript中,map.addEventListener用于在Map對(duì)象上添加事件監(jiān)聽器。使用各種類型的事件,比如點(diǎn)擊(click)、鼠標(biāo)懸停(mouseover)等。當(dāng)在地圖上點(diǎn)擊時(shí),會(huì)觸發(fā)一個(gè)事件,然后調(diào)用提供的函數(shù)。這個(gè)函數(shù)接收一個(gè)事件對(duì)象,從中可以獲取關(guān)于被點(diǎn)擊地點(diǎn)的信息。
當(dāng)然,也可以綁定其他的事件,比如mouseover、mouseout等,只需要將事件類型替換即可。
//地圖監(jiān)聽事件
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);
})
解決方案
/*安卓手機(jī)端監(jiān)聽無效事件 - Begin*/
map.addEventListener("touchmove", function (e) {
map.enableDragging();
});
map.addEventListener("touchend", function (e) {
map.disableDragging();
});
map.disableDragging();
map.enableScrollWheelZoom(true);
/*安卓手機(jī)端監(jiān)聽無效事件 - End*/
參考鏈接:文章來源:http://www.zghlxwxcb.cn/news/detail-806418.html
- https://blog.csdn.net/yyyuuueeee/article/details/49511173
- https://www.cnblogs.com/muzhe/articles/10032893.html
- https://www.jianshu.com/p/68737255e5ed?tdsourcetag=s_pcqq_aiomsg
@漏刻有時(shí)文章來源地址http://www.zghlxwxcb.cn/news/detail-806418.html
到了這里,關(guān)于漏刻有時(shí)百度地圖API實(shí)戰(zhàn)開發(fā)(1)華為手機(jī)無法使用addEventListener click 的兼容解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!