這篇文章帶給大家的內容是關於行動端H5中百度地圖的click事件的介紹(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
根據百度地圖官方解釋,在行動端H5 頁面中可監聽下面這4 個事件:
touchstart, touchmove, touchend, longpress

#而如果地圖上監聽了click 事件,在行動端是不會執行這個事件裡面的程式碼的。
我之前做一個需求時,我給地圖監聽了 touchend 事件,不曾想當我拖動地圖時,也執行了 touchend 裡的程式碼。所以需要模擬一個像 zepto 的 tap 事件,就能解決這個問題了。
我的程式碼是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | function initMap(baseData) {
var mp = new BMap.Map( 'map' );
var point = new BMap.Point(
baseData.data.gardenLongitude,
baseData.data.gardenLatitude
);
mp.centerAndZoom(point, 15);
var obj = {};
mp.addEventListener( 'touchstart' , 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( 'touchend' , function (e) {
obj.e = e.changedTouches ? e.changedTouches[0] : e;
if (
obj.target === e.target &&
(( Date .now() - obj.time) <p class = "comments-box-content" ></p>#
|
登入後複製
以上是行動端H5中百度地圖的click事件的介紹(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!