3

私は、モバイルユーザーにとって大きな問題を抱えていますすべてのウィンドウ...(昨日マップXD内スクロール3分間の父)どのように2本の指でGoogleマップ内を移動するには?私は<code>width: 100%</code>を持っており、タッチスクリーンは、「内部」マップ、スクロールが、それは地図のみのためとなりますので、もし、ユーザーがウィンドウをスクロールするとGoogleマップを持って</p> <p>:

のためのウィンドウをスクロールしないようにすることができるタッチスクリーンの境界線ですが、すべてのユーザーがこれを理解する非常に非常にscrictとではありません。 私はこれは、ほぼ時にピンチに、それは、それは二本指との接触である場合にのみ、マップをドラッグ可能になりますです

...ので、私は他の解決策を見つけなければなりません100%width少ないとマップをdont'wantズーム...

しかし、Googleマップのイベントは使えますか?多分

google.maps.event.addListener(map, 'dblclick', function(event){ 
     this.setOptions({draggable:true}); 
    }); 

多分、私がすべきマップ上の最初のクリックで(マップ内のdivに)警告するために、2本の指で地図を移動させることができます?

あなたはどう思いますか?コードは正しいですか?

どうもありがとう、私の英語との奇妙な質問には申し訳ありません:D

+0

を行う*のようにプロパティにgestureHandling: 'Cooperative'

を追加*なぜ私をdownvote **? – Borja

+0

これはモバイルスクロールに非常に便利です。私は今日、* Googleが1本の指の移動のネイティブブロックを追加したことに気づいた*。今、少なくともAPIを使用しているときは、2本の指で地図を移動できる。例:http://cmwautomacao.com.br/contato.php – Machado

答えて

13

API v3.27以降を使用している場合。マップの初期化中にちょうどこの

var map = new google.maps.Map(document.getElementById('map'), { 
      zoom: 4, 
      center: myLatLng, 
      gestureHandling: 'cooperative' 
     }); 

More Info Here

それとも、マップを作成した後、これを行うにしたい場合は、

map.setOptions({gestureHandling: 'cooperative'}); 

More Info Here

3

これはかなり奇妙な要件ですが、あなたは次のことを試すことができます。

document.addEventListener('touchmove', function(e) { 
 
    e.preventDefault(); 
 
    var touch = e.touches[0]; 
 
    if(e.touches.length == 2){ 
 
     //This means there are two finger move gesture on screen 
 
     googleMapsReference.setOptions({draggable:true}); 
 
    } 
 
}, false);

私は、モバイルデバイス上でこれをテストしていませんが、それはあなたの出発点を与える必要があります。

+0

多分、Googleマップのイベントを使用するよりも優れています。あなたのコード(2〜3日)を試してみると、私はあなたに仕事があるかどうかを教えてくれます。良いアイデアと助けに感謝します。今私は他の助けを待つ:D – Borja

+0

なぜあなたは "e.preventDefault"を追加しますか? – Borja

+0

使い方によっては削除することができます。イベントのデフォルトアクションを防ぐためにそこにあります。詳細については、https://api.jquery.com/event.preventdefault/を参照してください。 –

関連する問題

 関連する問題