2010-07-27 10 views
6

मैं एक साइट का निर्माण कर रहा हूं और मेरे पास एक पृष्ठ है जो एक पता लेता है और 2 डी रोडमैप शैली Google मानचित्र बनाने के लिए इसका उपयोग करता है और उसके बाद उस पते के लिए सड़क दृश्य।स्क्रॉल व्हील कस्टम स्ट्रीट व्यू में अक्षम किया जा सकता है?

मेरी समस्या यह है कि ये दो मानचित्र साइट की लगभग पूरी चौड़ाई तक फैले हुए हैं और उपयोगकर्ता को पृष्ठ को स्क्रॉल करते समय अपने माउस पर जाने की संभावना है और आगे स्क्रॉल करने में उनकी असमर्थता से भ्रमित हो जाते हैं (जबकि ज़ूम इन करते समय एक नक्शा)।

2 डी नक्शे के लिए इस अक्षम करना बहुत स्ट्रेट आगे

//works to disable scroll wheel in 2D map 
var mapOptions = { 
    zoom: 12, 
    center: latlng, 
    scrollwheel: false, 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
}; 
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions); 

//not working to disable scroll wheel in panorama 
var panoramaOptions = { 
    position: results[0].geometry.location, 
    scrollwheel: false 
}; 

panorama = new google.maps.StreetViewPanorama(document.getElementById("map_canvas2"), panoramaOptions); 

था, लेकिन सड़क दृश्य मुझे इन विकल्पों का उपयोग स्क्रॉल व्हील निष्क्रिय करने के लिए अनुमति देने के लिए नहीं लगता है और मैं इस मुद्दे में संबोधित खोजने के लिए सक्षम नहीं हूँ गूगल-डॉक्स किसी को पता है कि यह कैसे किया जा सकता है या इसके दृष्टिकोण के बारे में सुझाव क्या हैं?

उत्तर

3

मुझे वही समस्या है, जब उपयोगकर्ता माउस व्हील का उपयोग करके नीचे स्क्रॉल करता है, तो कर्सर Google सड़क दृश्य में पकड़ा जाता है और पृष्ठ को स्क्रॉल करने के बजाय ज़ूमिंग शुरू करता है।

Google मानचित्र में वे स्क्रोलव्हील संपत्ति प्रदान करते हैं जो इसे अक्षम कर सकता है, लेकिन दुर्भाग्यवश यह सड़क दृश्य में लागू नहीं होता है।

एकमात्र कामकाज जो मैंने पाया है, जैसा कि पिछले जवाब में @ बेनेडिच ने कहा था, मैंने सड़क दृश्य div पर बिल्कुल खाली/पारदर्शी div रखा था।

मैं नियंत्रण को सक्षम कर रहा हूं जब उपयोगकर्ता इस खाली div (सीएसएस दृश्यता संपत्ति का उपयोग करके) mousedown ईवेंट पर छिपाने के लिए jQuery का उपयोग करके सड़क दृश्य क्षेत्र पर कहीं भी क्लिक करता है और जब उपयोगकर्ता अपना माउस बाहर ले जाता है तो मैं यह खाली div फिर से। जिसका मूल रूप से मतलब है कि जब भी उपयोगकर्ता सड़क दृश्य नियंत्रण के साथ बातचीत करना चाहता है तो उसे एक बार क्लिक करना होगा। यह सबसे अच्छा समाधान नहीं है, लेकिन यह अपने माउस पकड़ा हो रही स्क्रॉल जब

0

जावास्क्रिप्ट के तरीके के बारे में नहीं पता, लेकिन एचटीएमएल और सीएसएस के साथ आप मानचित्र/सड़कदृश्य पर उच्च जेड-इंडेक्स के साथ एक अदृश्य div डाल सकते हैं।

+1

महान सुझाव, कि सड़क दृश्य के साथ सभी बातचीत को निष्क्रिय नहीं होगा? – DeviousBlue

10

scrollwheel: false जोड़ने के लिए http://code.google.com/p/gmaps-api-issues/issues/detail?id=2557 सड़क को Gmaps API v3 के मुद्दों के साथ एक सुविधा का अनुरोध किया गया था की तुलना में बेहतर है। यह अब तय किया गया है, बस अपने StreetViewPanorama विकल्पों के भीतर scrollwheel: false का उपयोग करें।

+1

अद्यतन के लिए धन्यवाद! मैं इसे अपने कामकाज के बजाय अपनी साइट पर जोड़ दूंगा। मुझे प्यार है जब मुझे एक एपीआई में जोड़ने की ज़रूरत है ;-) – DeviousBlue

+0

धन्यवाद फ्रैंक। खुशी है कि उन्होंने आखिरकार यह जोड़ा, कोड की एक पंक्ति और मैं सभी क्रैपी वर्कअराउंड को हटा सकता हूं। – manubkk

+2

यह अब सही उत्तर है और इसे इस तरह चिह्नित किया जाना चाहिए। हालांकि, मैं ध्यान दे रहा हूं कि यह स्क्रॉल घटनाओं को खाता है और इसलिए जब आप वहां जाते हैं तो स्क्रॉलिंग बंद हो जाती है। हालांकि यह परेशान ज़ूम-जब-आप-वहां-वहां बग को समाप्त करता है, यह अभी भी, IMHO, एक बग है। – dudewad

0

इस समस्या को हल करने के लिए Google से एक पैच आ रहा है।

फ़िक्स जो अभी काम करता है, संस्करण संख्या को scrollwheel: false के लिए काम करने के लिए स्पष्ट रूप से 3.25 पर सेट करना है।

उदाहरण: https://maps.googleapis.com/maps/api/js?key=XXX&v=3.25

+0

वाह! इस पुराने प्रश्न को अद्यतन करने के लिए धन्यवाद, यह जानकर अच्छा लगा कि वे इसे संबोधित करने की योजना बना रहे हैं। – DeviousBlue

संबंधित मुद्दे