MapboxGL जावास्क्रिप्ट एपीआई: मानचित्र पर सभी मार्करों कई परतों पर काम नहीं कर के लिए पॉपअप प्रदर्शित

वोट
1

मैं अपने नक्शे पर कई परतों है, हर एक को एक निश्चित प्रतीक (एक MapBox चिह्न) के लिए इसी और कहा कि प्रतीक के साथ सभी मार्करों हैं। मैं हर मार्कर का अपना पॉपअप के साथ क्लिक करने योग्य होना चाहते हैं। हालांकि, केवल पिछले परत जोड़ा जाता है कि जब पिछले परतों को कवर किया हैं, इसलिए उन परतों में मार्करों क्लिक नहीं किए, उन मार्कर पर क्लिक करें और पॉपअप को देखने के लिए अनुमति देता है।

यहाँ जे एस फिडल (कोड के सबसे वेबसाइट पर दो उदाहरण से है, और मैं उन्हें एक साथ गठबंधन करने के लिए कोशिश कर रहा हूँ) है

https://jsfiddle.net/wy5rdwzz/

मैं कोड की इस पंक्ति की जरूरत है एक सूची टॉगल करके मार्कर फिल्टर करने के लिए सक्षम होने के लिए, और मैं हर एक मार्कर की जरूरत को क्लिक करने योग्य।

filter: [==, marker-symbol, symbol]

मैं सभी मार्करों सुलभ आखिरी परत उस पर जोड़ा जाता है में न कि केवल वे बनाने (इतना है कि वे क्लिक किया जा सकता है और एक पॉपअप दिखाई देगा), के बारे में कैसे जाना होगा?

इसके अलावा, आप कैसे हैं, प्रत्येक मार्कर का नाम इसी मार्कर के बगल में प्रदर्शित करने के बारे जाना है, तो प्रत्येक मार्कर अपनी परत होती है चाहते हैं?

05/06/2016 को 07:05
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


1 जवाब

वोट
4

समस्या यह है कि आप कभी भी अपनी परत आईडी भंडारण किया गया। हर बार जब आप एक स्तर जोड़ा, आप अधिलेखित गया layerIDनवीनतम आईडी के साथ। इस प्रकार, जब आप अपने onclick और MouseMove श्रोताओं बनाया, आप केवल इन श्रोताओं सबसे हाल ही में परत को जोड़ने गया: { layers: [layerID] }

मैं अपने jsfiddle (संपादित किया है यहाँ एक सरणी में हर बार एक परत जोड़ा जाता है प्रत्येक परत आईडी पुश करने के लिए): { layers: layerIdCollection }

अगर आपका कोई प्रश्न हैं, तो मुझे से पूछें :)

06/06/2016 को 19:26
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more