Gmaps听众单击并右键单击无法在智能手机上运行

时间:2017-01-11 13:28:19

标签: javascript google-maps google-maps-api-3

我在一个网站上使用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);
});

1 个答案:

答案 0 :(得分:0)

它不起作用,因为在手机上没有鼠标,所以你不能使用点击(或右击)事件。

您应该使用触摸事件。它的描述很好here

您应该使用像jQuery UI Touch Punch这样的库,但它仅适用于jQuery UI。

您必须使用一些解决方法才能使其与Gmaps一起使用。