触摸事件不工作谷歌地图API Javascript

触摸事件不工作谷歌地图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

下面的代码应该允许在移动设备上双击,以模拟在PC上单击鼠标右键,在Google地图上输入pin码,但不允许。我绞尽脑汁想弄明白它为什么不起作用。有人看到这个代码有什么问题吗?在IOS上测试。我发誓这个密码以前是有用的!问题是触摸事件不起任何作用,地图会闪烁,不会像桌面上那样触发输入pin码

        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!

我们的谷歌公共问题跟踪器中报告了类似的问题,但它已经被标记为已修复。你介意看一下条目吗?问题是:

如果它们不相似,请提交新版本。请确保向我们提供一个自包含的示例(),该示例演示了问题,并包含了具体的重现步骤

Google Public Issue Tracker是Google内部使用的工具,用于在产品开发过程中跟踪bug和功能请求。它在谷歌之外提供,供需要在特定项目上与谷歌团队合作的外部公众和合作伙伴用户使用