Heim >Web-Frontend >H5-Tutorial >Einführung in das Klickereignis von Baidu Map in Mobile H5 (Codebeispiel)

Einführung in das Klickereignis von Baidu Map in Mobile H5 (Codebeispiel)

不言
不言nach vorne
2019-02-13 14:49:113515Durchsuche

Der Inhalt dieses Artikels ist eine Einführung in das Klickereignis (Codebeispiel) von Baidu Map in Mobile H5. Ich hoffe, dass es für Sie hilfreich ist.

Laut der offiziellen Erklärung von Baidu Maps können die folgenden 4 Ereignisse auf der mobilen H5-Seite überwacht werden:

Touchstart, Touchmove, Touchend, Longpress

Einführung in das Klickereignis von Baidu Map in Mobile H5 (Codebeispiel)

Und wenn das Klick-Ereignis auf der Karte überwacht wird, wird der Code im -Ereignis nicht auf dem mobilen Endgerät ausgeführt.

Als ich zuvor eine Anfrage gestellt habe, habe ich das Touchend-Ereignis für die Karte überwacht. Ich hätte nie gedacht, dass beim Ziehen der Karte auch der Code im Touchend ausgeführt wurde. Sie müssen also ein Tap-Ereignis wie Zepto simulieren, um dieses Problem zu lösen.

Mein Code lautet:

function initMap(baseData) {
    var mp = new BMap.Map('map');
    var point = new BMap.Point(
      baseData.data.gardenLongitude,
      baseData.data.gardenLatitude
    );

    mp.centerAndZoom(point, 15);

    // 保存 touch 对象信息
    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 &&
        
        // 大于 750 可看成长按了
        ((Date.now() - obj.time) <p class="comments-box-content"></p>

Das obige ist der detaillierte Inhalt vonEinführung in das Klickereignis von Baidu Map in Mobile H5 (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen