Google नक्शे को ज़ूम करने के लिए Ctrl + स्क्रॉल अक्षम करें


95

क्या कोई जानता है कि कैसे CTRL+ को निष्क्रिय करना है Scroll?

सबसे पहले जब माउस व्हील को स्थानांतरित किया गया था तो मैप ज़ूम इन / आउट हो जाएगा। लेकिन अब यह CTRLज़ूम इन / आउट करने के लिए + माउस व्हील स्क्रॉल को दबाने के लिए कहता है।

हम इस सुविधा को कैसे अक्षम करते हैं? मुझे प्रलेखन में कुछ भी नहीं मिल रहा है:

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

यहां छवि विवरण दर्ज करें


यह लिंक आपकी मदद कर सकता है stackoverflow.com/questions/21992498/…
ब्रजेश कानूनगो

@BrajeshKanungo जो उपरोक्त सुविधा से संबंधित नहीं है - यह Google मैप्स द्वारा पेश की गई एक नई सुविधा है - मैं इसे अक्षम करना चाहता हूं।
दाऊद इवान

ठीक है आप मुझे बता सकते हैं कि आप किस एपीआई संस्करण का उपयोग कर रहे हैं।
ब्रजेश कानूनगो

नवीनतम संस्करण - maps.googleapis.com/maps/api/js?v=3.exp
दाऊद Awan

यह अभी हमारी साइट पर भी दिखाई दिया है, इसलिए शायद googles API पर एक अपडेट
टॉम

जवाबों:


153

आपको gestureHandling: 'greedy'अपने मानचित्र विकल्पों को पास करना होगा।

दस्तावेज़: https://developers.google.com/maps/documentation/javascript/interaction#gestureHandling

उदाहरण के लिए:

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

अपडेट करें! Google मैप्स के बाद से 3.35.6आपको संपत्ति को एक विकल्प आवरण में संलग्न करना होगा:

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

ealfonsoनई जानकारी के लिए धन्यवाद


@DiegoAndrade मैं विवरणों से अवगत नहीं हूं। शायद यह तब वापस लागू नहीं किया गया था। लेकिन यह संस्करणों 3.29(जमे हुए), 3.30(रिलीज) और ऊपर की ओर ( 3.exp, प्रयोगात्मक) पर मौजूद है।
कोनो

हां @Kano, इन डॉक्स में यह सुविधा अभी भी मौजूद है, लेकिन मेरे परीक्षणों पर यहां यह काम नहीं कर रहा है। मुझे नहीं पता कि उन्होंने इसे क्यों हटाया :(
डिएगो एंड्रेड

1
मुझे पता है कि यह मौजूद है। यही तो बात है। 3.30इसके साथ शुरू करना काम नहीं कर रहा है। मैंने इन सभी संस्करणों का परीक्षण किया। वैसे भी, यह अब तक साथ काम कर रहा है 3.26
डिएगो एंड्रेड

3
अंत में सही जवाब। मुझे इसके लिए एक लंबे समय के लिए जाना गया। Google ने इसे डिफ़ॉल्ट क्यों नहीं बनाया यह मुझसे परे है।
13:31 बजे

2
बिंगो, यह सही समाधान है।
एन खान

17

यदि आप स्क्रॉल-टू-ज़ूम को पूरी तरह से अक्षम करने के साथ ठीक हैं, तो आप उपयोग कर सकते हैं scrollwheel: false। यदि आप जूम नियंत्रण ( zoomControl: true) के साथ प्रदान करते हैं तो उपयोगकर्ता ज़ूम बटन पर क्लिक करके मानचित्र को ज़ूम करने में सक्षम होगा ।

दस्तावेज़: https://developers.google.com/maps/documentation/javascript/reference ("स्क्रॉलव्हील" के लिए पृष्ठ खोजें)

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

7

यदि आप ओवरले को केवल छिपाने के लिए देख रहे हैं, लेकिन फिर भी स्क्रॉल करने और ज़ूम करने की क्षमता को अक्षम करें (जैसे पहले), तो आप ओवरले को छिपाने के लिए CSS का उपयोग कर सकते हैं:

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

ध्यान दें कि यह इसे मोबाइल के लिए भी छिपाएगा ताकि आप कुछ इस तरह का उपयोग कर सकें कि यह सुनिश्चित हो सके कि "मानचित्र को स्थानांतरित करने के लिए दो उंगलियों का उपयोग करें"

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

धन्यवाद। मुझे आश्चर्य है कि अधिक लोग यह नहीं चाहते हैं। यह एक बहुत ही विचलित करने वाला ओवरले संदेश है जो मेरे लिए मानचित्र अनुभव को लगभग नष्ट कर देता है।
बेसजेन

5

gestureHandlingएक optionsसंपत्ति के भीतर घोंसला बनाना मेरे लिए संस्करण "3.35.6" पर काम किया।

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

4

gestureHandling: 'greedy'जब से मैं नक्शे पर ओवरले था, मैं मेरे लिए काम करने के लिए तय नहीं कर पाया था। मैंने mousewheelघटना का पता लगाने और ctrlसंपत्ति को सच करने के लिए समाप्त कर दिया ।

// 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 });
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.