1

Я включил карты Google, используя google-maps-api v3 на моем сайте. Я пытаюсь использовать сенсорный экран для увеличения и уменьшения масштаба карты, но вместо этого он меняет размер окна браузера. Я использую firefox.google map pinch не работает на сенсорном экране tv

http://www.spectrumgeo.com/mcmap/large.php

следующий код предотвращает масштабирование с помощью клавиатуры ctrl (-/+)

$(document).keydown(function(event) { 
      if (event.ctrlKey==true && (event.which == '107' || event.which == '109')) { 
       alert('disabling zooming ! '); 
       event.preventDefault(); 
      } 
     }); 

Я попытался молоток, как mnentioned here, но не работает.

var myElement = document.getElementById('googlemap'); 

     var mc = new Hammer.Manager(myElement); 

     // create a pinch and rotate recognizer 
     // these require 2 pointers 
     var pinch = new Hammer.Pinch(); 
     var rotate = new Hammer.Rotate(); 

     // we want to detect both the same time 
     pinch.recognizeWith(rotate); 

     // add to the Manager 
     mc.add([pinch, rotate]); 

     mc.on("panleft panright tap press", function(ev) { 
      //myElement.textContent = ev.type +" gesture detected."; 
      alert(ev.type +" "); 
     }); 

     mc.on("pinch rotate", function(ev) { 
      //myElement.textContent += ev.type +" "; 
      alert(ev.type +" "); 
     }); 

ответ

0

Согласно documentation, только мобильное устройство будет иметь сенсорный контроль. Кажется, что для его настройки нет настроек. Однако вы можете настроить свой пользовательский агент на планшет Android для его включения.

+0

Как я могу установить пользовательский агент? – shorif2000

+0

, используя плагин, подобный этому https://addons.mozilla.org/en-us/firefox/addon/user-agent-overrider/ – kaho

+0

Windows 8 выглядит очень хорошо и намного лучше, чем предыдущие окна с сенсорной совместимостью. – shorif2000

1

После многих исследований и чтения блога блогов Это может быть достигнуто путем подмены агента пользователя или определения свойства msMaxTouchPoints Navigator. Это вдохновляет решение от Brian (https://github.com/bamnet/map_sandbox/tree/master/forceTouchUI), где он обманывает User Agent. я изменил немного, чтобы сделать его работу, установив navigator.msMaxTouchPoints свойства, как показано в примере JsFiddle

Это то, что мы в конечном итоге делает

function EnableTouchUI(){ 
 
    // Check if the browser supports touch events 
 
    if('ontouchstart' in window || window.DocumentTouch && document instanceof DocumentTouch) { 
 
    \t navigator = navigator || {}; 
 
\t navigator.msMaxTouchPoints = navigator.msMaxTouchPoints || 2; 
 
    } 
 
} 
 

 
jQuery(document).ready(function(){ 
 
\t EnableTouchUI(); 
 
});

Отъезд рабочий пример здесь https://jsfiddle.net/abidCharlotte49er/qLn8hkv0/