我在一个网站上使用Gmaps v3,该网站在地图的点击和右键单击事件上执行某些功能。 在计算机上的Web浏览器中,一切都可以正常工作。 如果我使用智能手机中的浏览器(无论是什么),这些听众都无法工作,我如何拦截智能手机中使用的浏览器中的点击和右键单击事件?
map.addListener('rightclick', function(event) {
var clicked = {lat: event.latLng.lat(), lng: event.latLng.lng()};
infoWindowOptionsMapa.setPosition(clicked);
infoWindowOptionsMapa.open(map);
infoWindows.push(infoWindowOptionsMapa);
sessionStorage.removeItem('clicked');
sessionStorage.setItem('clicked',JSON.stringify(clicked));
});
google.maps.event.addListener(map,'click',function(e) {
closeAllInfoWindows();
checkClass();
});
我研究了一下并测试了下面的代码,但Chrome不起作用。
google.maps.event.addListener(map,'mousedown',function(e) {
var clicked = {lat: e.latLng.lat(), lng: e.latLng.lng()};
alert(clicked);
});
答案 0 :(得分:0)
它不起作用,因为在手机上没有鼠标,所以你不能使用点击(或右击)事件。
您应该使用触摸事件。它的描述很好here。
您应该使用像jQuery UI Touch Punch这样的库,但它仅适用于jQuery UI。
您必须使用一些解决方法才能使其与Gmaps一起使用。