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 有关更多信息,请参阅此处的文档: