2011-04-01 10 views

उत्तर

6

मुझे पता चला यह setClickable (गलत) है,

0

यदि आप अपने ऐप में मानचित्र दृश्य एम्बेड करते हैं, तो मुझे लगता है कि आप इसे देखने के लिए स्थिर मानचित्र का उपयोग कर सकते हैं।

+0

आप स्थिर नक्शे से क्या मतलब है का उपयोग कर के साथ उपयोगकर्ता इंटरेक्शन रोक सकता है? – Vincent

+0

स्थैतिक मानचित्र एक विशिष्ट स्थान के लिए मानचित्र के स्नैप शॉट का एक प्रकार हैं। आप ज़ूम इन और ज़ूम आउट कर सकते हैं लेकिन बहुत कुछ नहीं किया जा सकता है। – Vinay

+1

मुझे जो भी आप ढूंढ रहे हैं उसके बारे में अधिक जानकारी दें ... – Vinay

-2

शायद यह एक समाधान हो सकता है:

mapView.setEnabled (गलत)

+1

नॉप को स्थानांतरित करे, – Vincent

2

आपक्लिकेबल (झूठा) सेट करना चाहते हैं, लेकिन आप MapView को फोकस करने से रोकने के लिए संभवतः फोकसबल (झूठा) सेट करना भी चाहेंगे।

यह समस्या हो सकती है जब उपयोगकर्ता हार्डवेयर नेविगेशन बटन का उपयोग करता है, क्योंकि यदि MapView फोकस करता है तो ऊपर-नीचे-बाएं-दाएं बटन नक्शे को स्क्रॉल करेंगे।

38

भले ही एक स्वीकार्य उत्तर है, बस मेरा जवाब प्रदान करें क्योंकि इससे मेरी मदद नहीं हुई है। mapView.setClickable (false) हर समय काम नहीं करता है, ऐसे मामलों की तरह जहां आपके पास नक्शा है, स्क्रॉल व्यू के अंदर देखें। तो मैंने उसी आकार के मानचित्र दृश्य के ठीक ऊपर एक दृश्य वस्तु बनाई।

मेरी ओवरले दृश्य के लिए onTouchListener रखरखाव वाले और (मेरे मामले में scrollview) MapView की मूल करने के लिए सभी स्पर्श ईवेंट पारित कर दिया है, इसलिए द्वारा गुजर MapView से सभी स्पर्श ईवेंट scrollview करने के लिए।

एक और तरीका प्राप्त करने के लिए

mMap.getUiSettings().setAllGesturesEnabled(false); 
+0

v2 के लिए काम करता है नक्शा टुकड़े भी! – Aphex

8
mMap.getUiSettings().setScrollGesturesEnabled(false); 

कर इस नक्शे

0

में आगे बढ़ निष्क्रिय कर सकते हैं मैं customMapView कि MapView प्रदान करता है और onInterceptTouchEvent विधि ओवरराइड बनाया कर रहा है।

public class customMapView extends MapView { 
    public customMapView(Context context) { 
     super(context); 
    } 

    public customMapView(Context context, AttributeSet attributeSet) { 
     super(context, attributeSet); 
    } 

    public customMapView(Context context, AttributeSet attributeSet, int i) { 
     super(context, attributeSet, i); 
    } 

    public customMapView(Context context, GoogleMapOptions googleMapOptions) { 
     super(context, googleMapOptions); 
    } 

    @Override 
    public boolean onInterceptTouchEvent(MotionEvent ev) { 

//  return super.onInterceptTouchEvent(ev); 
     return true; 
    } 

} 
1

हम MapView या SupportMapFragmentGoogleMapOptions

override fun onCreate(savedInstanceState: Bundle?) { 
     super.onCreate(savedInstanceState) 

     val mapOptions = GoogleMapOptions() 
     mapOptions.rotateGesturesEnabled(false) 
     mapOptions.zoomGesturesEnabled(false) 
     mapOptions.tiltGesturesEnabled(false) 
     mapOptions.scrollGesturesEnabled(false) 

     // Map View 
     val mapView = MapView(context, mapOptions) 
     mapView.onCreate(savedInstanceState) 

     // Or 
     val mapView = MapView(context 
     mapView.getMapAsync { googleMap -> 
      googleMap.uiSettings.setAllGesturesEnabled(false) 
     } 

     // Or Map Fragment 
     val mapFragment = SupportMapFragment.newInstance(mapOptions) 
} 
संबंधित मुद्दे