2013-05-29 4 views
9

मैं मार्कर लगाने की कोशिश कर रहा हूं, लेकिन जब मैं इसे करता हूं, तो यह मार्कर कुछ मार्करों के पीछे रखा जाता है (और कुछ अन्य लोगों के साथ भी)। मैं इसे सभी मार्करों पर सेट करना चाहता हूं, लेकिन मुझे इसे प्राप्त करने के लिए कोई प्रॉपर्टी नहीं मिली (जैसे जेड-इंडेक्स)।Google मानचित्र में अन्य सभी मार्करों पर मार्कर सेट करें एसडीके आईओएस

GMSMarker *marker = [[GMSMarker alloc] init]; 
marker.animated=YES; 
marker.position = CLLocationCoordinate2DMake(lat, lon); 
marker.map = mapView_; 

और इस परिणाम है::

इस कोड को जहाँ मैं मार्कर है कि दूसरों के पीछे रहता है सेट का हिस्सा है

Green marker is placed behind some blue markers and over other blue markers

वहाँ किसी भी संपत्ति या रास्ता नहीं है सभी नीले मार्करों पर हरे रंग की मार्कर लगाने के लिए? मैं Google मानचित्र एसडीके संस्करण 1.3.0 का उपयोग कर रहा हूं।

उत्तर

26

अब यह zIndex संपत्ति के माध्यम से GMSOverlay कक्षा में संस्करण 1.4.0 में जोड़ा गया है। release notes से:

सभी ओवरले पर zIndex संपत्ति जोड़ा गया। जेड-इंडेक्स की गणना दो समूहों में की जाती है: GMSMarker एस और अन्य सभी ओवरले।

बस अपने मार्कर पर अन्य सभी के शीर्ष पर खींचे जाने के लिए एक उच्च zIndex सेट करें। संपत्ति प्रलेखन here द्वारा कहा गया है:

उच्चतर zIndex मूल्य ओवरले कम zIndex मूल्य टाइल परतों और ओवरले के शीर्ष पर तैयार किया जाएगा।

डिफ़ॉल्ट zIndex एक मार्कर के लिए 0 है (कम से कम वर्तमान एसडीके संस्करण में - मैं इसे दस्तावेज नहीं देखा है, लेकिन यह परीक्षण करने और पुष्टि करने के लिए आसान है), इसलिए यदि आप zIndex के लिए सेटिंग नहीं कर रहे हैं आपके अधिकांश मार्कर और आपके पास अन्य सभी लोगों के ऊपर रखना है, आपको केवल इतना करना है:

yourGmsMarker.zIndex = 1; 
+0

यदि आप मार्कर को दूसरे पर रखना चाहते हैं, तो पिछले ZIndex को नीचे 1 (0.8 कहें) , और फिर 1.0 –

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