জুম গুগল ম্যাপে Ctrl + স্ক্রোলটি অক্ষম করুন


97

কেউ কীভাবে CTRL+ অক্ষম করবেন তা জানেন Scroll?

প্রথমে যখন মাউস চাকাটি সরানো হয়েছিল তখন মানচিত্রটি জুম ইন / আউট হবে। তবে এখন এটি CTRLজুম ইন / আউট করতে + মাউস হুইল স্ক্রোল টিপতে বলে।

আমরা কীভাবে এই বৈশিষ্ট্যটি অক্ষম করব? ডকুমেন্টেশনে আমি কিছুই খুঁজে পাচ্ছি না:

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

এখানে চিত্র বর্ণনা লিখুন



@ ব্রাজেশকানুনগো যা উপরের বৈশিষ্ট্যের সাথে সম্পর্কিত নয় - এটি গুগল ম্যাপ দ্বারা প্রবর্তিত একটি নতুন বৈশিষ্ট্য - আমি এটি অক্ষম করতে চাই।
দাউদ আওয়ান

ঠিক আছে আপনি আমাকে কোন API সংস্করণ ব্যবহার করছেন তা বলতে পারেন।
ব্রজেশ কানুনগো

সর্বশেষতম সংস্করণ - map.googleapis.com/maps/api/js?v=3.exp
দাউদ আওয়ান

এটি কেবল আমাদের সাইটে উপস্থিত হয়েছে, তাই সম্ভবত গুগলস এপিআই
টম

উত্তর:


154

আপনি পাস প্রয়োজন gestureHandling: 'greedy'আপনার মানচিত্রে অপশন।

ডকুমেন্টেশন: https://developers.google.com/maps/docamentation/javascript/interation#gestureHandling

উদাহরণ স্বরূপ:

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

হালনাগাদ! গুগল ম্যাপস থেকে যেহেতু 3.35.6আপনাকে সম্পত্তিটি কোনও বিকল্পের মোড়কে আবদ্ধ করতে হবে:

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

ealfonsoনতুন তথ্যের জন্য আপনাকে ধন্যবাদ


@ ডিগোআরান্দে আমি বিশদ সম্পর্কে অবগত নই। সম্ভবত এটি আবার কার্যকর করা হয়নি। তবে এটি সংস্করণে 3.29(হিমায়িত), 3.30(প্রকাশিত) এবং উপরের দিকে ( 3.exp, পরীক্ষামূলক) উপস্থিত রয়েছে।
কানো

হ্যাঁ @ কানো, এই দস্তাবেজে এই বৈশিষ্ট্যটি এখনও বিদ্যমান, তবে আমার পরীক্ষাগুলিতে এটি কাজ করছে না। কেন তারা এটিকে সরিয়ে দিয়েছে আমি সত্যিই জানি না :(
ডিয়েগো অ্যান্ড্রেড

4
আমি জানি এটি উপস্থিত আছে। এটাই আসল কথা. দিয়ে 3.30কাজ শুরু হচ্ছে না। আমি এই সমস্ত সংস্করণ পরীক্ষা করেছি। যাইহোক, এটি এখন সঙ্গে কাজ করে 3.26
দিয়েগো আন্দ্রেড

4
অবশেষে সঠিক উত্তর। আমাকে এটির জন্য দীর্ঘ সময় ধরে গুগল করে নিল। গুগল কেন এটি ডিফল্ট হিসাবে তৈরি করে না তা আমার বাইরে।
woens

4
বিঙ্গো, এটি নিখুঁত সমাধান।
এন খান

17

আপনি যদি পুরো স্ক্রোল থেকে জুম অক্ষম করে ঠিক করেন তবে আপনি ব্যবহার করতে পারেন scrollwheel: false। আপনি যদি জুম নিয়ন্ত্রণ ( zoomControl: true) সরবরাহ করেন তবে ব্যবহারকারী জুম বোতামে ক্লিক করে মানচিত্রটি জুম করতে সক্ষম হবে ।

ডকুমেন্টেশন: https://developers.google.com/maps/docamentation/javascript/references ("স্ক্রোলওহিল" এর জন্য পৃষ্ঠাটি অনুসন্ধান করুন)

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 });
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.