我有一些javascript代码,可以在传单地图中使用鼠标事件拖动一个圆圈,可以在不在android webview中的网页中工作,我的代码如下所示:
var isDragCircle = true;
map.on('mouseup', function (){
isDragCircle = false;
//showAndroidLog('mouse up event');
});
circle.on('mousedown', function (event) {
isDragCircle = true;
//showAndroidLog('mouse down event');
//L.DomEvent.stop(event);
map.dragging.disable();
let {lat: circleStartingLat, lng: circleStartingLng} = circle._latlng;
let {lat: mouseStartingLat, lng: mouseStartingLng} = event.latlng;
map.on('mousemove', event => {
if (isDragCircle) {
let {lat: mouseNewLat, lng: mouseNewLng} = event.latlng;
let latDifference = mouseStartingLat - mouseNewLat;
let lngDifference = mouseStartingLng - mouseNewLng;
let center = [circleStartingLat-latDifference, circleStartingLng-lngDifference];
circle.setLatLng(center);
};
});
});
在我的资产文件夹中的index.html中尝试这个,但是在webview中没有触发mousedown事件,我的目标是从android webview拖动传单圈。
注意:没有尝试使用usb otg鼠标,但我猜测如何用触摸事件来实现这一点。
编辑: 仍然尝试但没有结果拖动一个圆圈,临时使用点击事件来改变圆坐标,如下所示:
map.on('click', function (e){
if (circleDrawn) {
circle.setLatLng(e.latlng);
};
});
编辑:只需阅读传单文档support tap(作为contextmenu事件触发)。