Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用传单。热,鼠标事件/触摸事件,移动设备,如iPad?_Javascript_Jquery_Ios_Leaflet_Mapbox - Fatal编程技术网

Javascript 如何使用传单。热,鼠标事件/触摸事件,移动设备,如iPad?

Javascript 如何使用传单。热,鼠标事件/触摸事件,移动设备,如iPad?,javascript,jquery,ios,leaflet,mapbox,Javascript,Jquery,Ios,Leaflet,Mapbox,我正在尝试使用地图盒/传单创建热图。这正是我能正常工作的例子: 执行代码如下: map.on({ movestart: function () { draw = false; }, moveend: function () { draw = true; }, mousemove: function (e) { if (draw) { heat.addLatLng(e.latlng); } } }) 但是

我正在尝试使用地图盒/传单创建热图。这正是我能正常工作的例子:

执行代码如下:

map.on({
    movestart: function () { draw = false; },
    moveend:   function () { draw = true; },
    mousemove: function (e) {
        if (draw) {
            heat.addLatLng(e.latlng);
        }
    }
})
但是,这不适用于触摸屏。我观看了这段视频,了解我需要改变什么:

对于JS和webapps来说,一般来说都是新手,我不确定如何使用本视频36:00分钟左右解释的语法。他提供了一种功能,可根据检测到的事件类型对鼠标/触摸处理进行不同的分叉:

                var posX, posY;

                function positionHandler(e) {
                if ((e.clientX) && (e.clientY)) {
                    posX = e.clientX; posY = e.clientY;
                } else if (e.targetTouches) {
                    posX =  e.targetTouches[0].clientX;
                    posY = e.targetTouches[0].clientY;
                    e.preventDefault();
                    }
                }
我知道这里我们定义了一个函数positionHandler,用于返回鼠标或触摸事件在屏幕上的位置。但我不知道如何将其与上面的传单语法结合起来


我如何调整上面的示例,使其在台式机和触摸屏上都能工作?希望我已经在这里表明,我已经尝试过做这项研究,但我被卡住了。

这个问题的答案在于宣传单的API。您应该能够使用他们的一些事件处理程序来添加此功能。虽然我没有运气打开iHandler映射。点击。启用();我重新配置了它,用click替换mouseend,用dblclick替换mousemove

有关更多信息,请参阅此处的文档: