Google haritalarını yakınlaştırmak için Ctrl + Kaydırmayı devre dışı bırakın


97

CTRL+ ' Nın nasıl devre dışı bırakılacağını bilen var mı Scroll?

İlk olarak fare tekerleği hareket ettirildiğinde Harita Yakınlaştırır / Uzaklaşır. Ama şimdi CTRL+ Fare Tekerleği Kaydırma tuşuna basarak Yakınlaştır / uzaklaştır.

Bu özelliği nasıl devre dışı bırakırız? Belgelerde hiçbir şey bulamıyorum:

https://developers.google.com/maps/documentation/javascript/controls#ControlOptions

görüntü açıklamasını buraya girin



Yukarıdaki özellik ile ilgili olmayan @BrajeshKanungo - bu, Google Haritalar tarafından sunulan yeni bir özellik - devre dışı bırakmak istiyorum.
Dawood Awan

Tamam, hangi API sürümünü kullandığınızı söyleyebilir misiniz?
Brajesh Kanungo


Bu sadece, çok sitemizde googles API üzerinde yüzden muhtemelen bir güncelleme göründü
Tom

Yanıtlar:


154

gestureHandling: 'greedy'Harita seçeneklerinize geçmeniz gerekiyor .

Belgeler: https://developers.google.com/maps/documentation/javascript/interaction#gestureHandling

Örneğin:

const map = new google.maps.Map(mapElement, {
  center: { 0, 0 },
  zoom: 4,
  gestureHandling: 'greedy'
});

Güncelleme! Google Haritalar'dan bu yana 3.35.6, mülkü bir seçenekler sarmalayıcıya almanız gerekir:

const map = new google.maps.Map(mapElement, {
  center: { 0, 0 },
  zoom: 4,
  options: {
    gestureHandling: 'greedy'
  }
});

ealfonsoYeni bilgi için teşekkürler


@DiegoAndrade Ayrıntıların farkında değilim. belki o zamanlar uygulanmamıştı. Ancak 3.29(dondurulmuş), 3.30(yayınlanmış) ve üzeri ( 3.exp, deneysel) sürümlerde mevcuttur .
kano

Evet @Kano, bu belgelerde bu özellik hala mevcut, ancak buradaki testlerimde çalışmıyor. Bunu neden kaldırdıklarını gerçekten bilmiyorum :(
Diego Andrade

1
Mevcut olduğunu biliyorum. Konu bu. Başlamak 3.30Çalışmıyor. Tüm bu sürümleri test ettim. Her neyse, şimdiye kadar çalışıyor 3.26.
Diego Andrade

3
nihayet doğru cevap. Bunun için googling uzun zamanımı aldı. Google bunu neden varsayılan yapmadı benim aşım.
2018

2
Bingo, bu mükemmel bir çözüm.
N Khan

17

Yakınlaştırmak için kaydırmayı tamamen devre dışı bırakmakta sorun yaşıyorsanız, kullanabilirsiniz scrollwheel: false. Kullanıcıya yakınlaştırma kontrolü ( zoomControl: true) sağlarsanız, yakınlaştırma düğmelerini tıklayarak haritayı yine de yakınlaştırabilir .

Belgeler: https://developers.google.com/maps/documentation/javascript/reference ("kaydırma tekerleği" için sayfada arama yapın )

const map = new google.maps.Map(mapElement, {
  center: { 0, 0 },
  zoom: 4,
  scrollwheel: false,
  zoomControl: true
});

7

Yalnızca kaplamayı gizlemek, ancak yine de kaydırma ve yakınlaştırma özelliğini devre dışı bırakmak istiyorsanız (önceki gibi), kaplamayı gizlemek için CSS'yi kullanabilirsiniz:

.gm-style-pbc {
opacity: 0 !important;
}

Bunun mobil cihazlar için de gizleneceğini unutmayın, böylece "haritayı hareket ettirmek için iki parmağınızı kullanın" ifadesini göstermesini sağlamak için buna benzer bir şey kullanabilirsiniz:

@media only screen and ( min-width: 980px ) {
.gm-style-pbc {
opacity: 0 !important;
}
}

Teşekkür ederim. Daha fazla insanın bunu istememesine şaşırdım. Bu , benim için harita deneyimini neredeyse tamamen yok eden çok dikkat dağıtıcı bir kaplama mesajı.
BaseZen

5

gestureHandlingBir optionsözelliğin içine yerleştirmek benim için "3.35.6" sürümünde çalıştı.

map = new google.maps.Map(document.getElementById('map'), {
        zoom: 12,
        options:{
            gestureHandling: 'greedy'
        }
    });

4

gestureHandling: 'greedy'Haritanın üzerine bir bindirme yaptığım için düzeltmenin benim için çalışmasını sağlayamadım . Sonunda mousewheelolayı algılayıp ctrlözelliği true olarak ayarladım .

// Load maps and attach event listener to scroll event.
var $map = $('.map');
$map[0].addEventListener('wheel', wheelEvent, true);         

function wheelEvent(event) {
    // Set the ctrlKey property to true to avoid having to press ctrl to zoom in/out.
    Object.defineProperty(event, 'ctrlKey', { value: true });
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.