触摸事件不工作谷歌地图API Javascript
下面的代码应该允许在移动设备上双击,以模拟在PC上单击鼠标右键,在Google地图上输入pin码,但不允许。我绞尽脑汁想弄明白它为什么不起作用。有人看到这个代码有什么问题吗?在IOS上测试。我发誓这个密码以前是有用的!问题是触摸事件不起任何作用,地图会闪烁,不会像桌面上那样触发输入pin码触摸事件不工作谷歌地图API Javascript,javascript,google-maps,google-maps-api-3,touch-event,Javascript,Google Maps,Google Maps Api 3,Touch Event,下面的代码应该允许在移动设备上双击,以模拟在PC上单击鼠标右键,在Google地图上输入pin码,但不允许。我绞尽脑汁想弄明白它为什么不起作用。有人看到这个代码有什么问题吗?在IOS上测试。我发誓这个密码以前是有用的!问题是触摸事件不起任何作用,地图会闪烁,不会像桌面上那样触发输入pin码 google.maps.event.addListener(map, 'rightclick', function (event) { addMarkerToMap(e
google.maps.event.addListener(map, 'rightclick', function (event) {
addMarkerToMap(event.latLng);
});
domMap.addEventListener('click', function (e) {
//map.setZoom(8);
//map.setCenter(overlay.getPosition()); // set map center to marker position
mobileAndTabletcheck() && setTimeout(mySingleClickBelovedFunction(e), 200);
});
var singleClickInProgess = false;
function doDoubleClickProcessing(event)
{
console.log('dblclick');
isDblClick = true;
myDlbClickBelovedFunction(event);
}
function handleClickONMarker(e)
{
if ( singleClickInProgess )
{
singleClickInProgess = false;
doDoubleClickProcessing(e);
}
else
{
singleClickInProgess = true;
setTimeout(checkClickONMarkerStatus,300);
}
}
function checkClickONMarkerStatus()
{
if ( singleClickInProgess )
{
singleClickInProgess = false;
console.log('single click');
}
singleClickInProgess = false;
}
function mySingleClickBelovedFunction(e) {
if (!isDblClick) {
// DO MY SINGLE CLICK BUSINESS :)
//smoothZoom(map, 12, map.getZoom());
}
handleClickONMarker(e);
// DO NOTHING
}
domMap.addEventListener('dblclick', function (event) {
//alert('test');
if (mobileAndTabletcheck()) {
isDblClick = true;
myDlbClickBelovedFunction(event);
}
});
function myDlbClickBelovedFunction(event) {
//debugger
console.log(event);
overlay.setMap(map);
//Work out the coordinates on the map
var x = (event.offsetX),
y = (event.offsetY);
var point = new google.maps.Point(x, y),
latLng = overlay.getProjection().fromContainerPixelToLatLng(point);
addMarkerToMap(latLng);
overlay.setMap(null);
}
// the smooth zoom function
function smoothZoom(map, max, cnt) {
if (cnt >= max) {
return;
}
else {
y = google.maps.event.addListener(map, 'zoom_changed', function (event) {
google.maps.event.removeListener(y);
smoothZoom(map, max, cnt + 1);
});
setTimeout(function () { map.setZoom(cnt) }, 80);
}
}```
Thanks!
我们的谷歌公共问题跟踪器中报告了类似的问题,但它已经被标记为已修复。你介意看一下条目吗?问题是: