यह प्राप्त करने के लिए मुझे लगता है कि मुझे बस onMarkerClick
ओवरराइड करने की आवश्यकता है और जांचें कि क्लिक किए गए मार्कर की जानकारीविंडो पहले से ही खुली है, लेकिन मेरे आश्चर्य के लिए clickedMarker.isInfoWindowShown()
हमेशा झूठी वापसी करता है। ..जानकारी छुपाएं जब मार्कर दूसरी बार क्लिक किया गया (Google मानचित्र एंड्रॉइड एपीआई वी 2)
मेरे कोड:
@Override
public boolean onMarkerClick(final Marker clickedMarker) {
if(clickedMarker.isInfoWindowShown()) {
clickedMarker.hideInfoWindow();
System.out.println("was showing");
} else {
clickedMarker.showInfoWindow();
System.out.println("not showing");
}
}
यह हमेशा मुझसे कहता है infoWindow है "नहीं दिखा" जो सही नहीं है ... मैं चाहता हूँ मैं इस के आसपास userLastClickedMarker
के संदर्भ रखकर प्राप्त कर सकते हैं लेकिन यह जानने के लिए कि मैंने ऊपर क्या गलत किया है।
धन्यवाद!
संपादित करें:
System.out.println(clickedMarker.isInfoWindowShown());
if(clickedMarker.isInfoWindowShown()) {
clickedMarker.hideInfoWindow();
System.out.println(" showing");
} else {
clickedMarker.showInfoWindow();
System.out.println("not showing");
}
System.out.println(clickedMarker.isInfoWindowShown());
मैंने पाया कि isInfoWindowShown()
onMarkerClick विधि में सही ढंग से काम करता है लेकिन इसे सही ढंग से नहीं 'याद' होगा:
मैं इस मुद्दे को डिबग करने के लिए मेरे कोड बदल दिया है। और मैं यह कोई पहले से ही द्वारा एक बग के रूप में बताया गया है ...
https://code.google.com/p/gmaps-api-issues/issues/detail?id=5408
आप 'हैंडलर' का उपयोग करके अपने कोड को एक छोटी देरी के साथ कॉल करने का प्रयास कर सकते हैं। मैं 5048 जारी करने के लिए टिप्पणी के रूप में इस प्रश्न का एक लिंक डालने का भी सुझाव देता हूं। –
क्या आपको कोई काम मिल गया था? मुझे एक ही मुद्दे का सामना करना पड़ रहा है। – Geek
लिंक पर बग को तारांकित करना याद रखें, अगर आप इस पोस्ट तक पहुंचते हैं। – Poutrathor