Performant जीएल त्रिकोण MapBox जीएल जे एस

वोट
4

मैं एक, बुनियादी ग्रिड आधारित है, लेकिन performant मौसम-तीर दृश्य प्रणाली बनाने की कोशिश कर रहा पर काम कर रहा हूँ।

संपादित करें 2: अप-टू-डेट संस्करण यहाँ: ( MapBox ट्रैकर प्रणाली के) कार्यप्रवाह जो नीचे वर्णित है का उपयोग करते हुए

उपयोग के निर्देश: - पवन आइकन (बाईं ओर) पर क्लिक करें - रुको त्रिकोण स्क्रीन पर कब्जा करने के लिए - (नीचे) पान समय स्लाइडर

आप देखेंगे के रूप में (विशेष रूप से बड़े प्रस्तावों या जब समय स्लाइडर पैनिंग जल्दी पर) काफी प्रदर्शन हिट जब त्रिकोण ड्राइंग है।

मैं बहुत आभारी होंगे किसी भी है, जहां या तो जो मदद मिलेगी वर्तमान एपीआई में कुछ का उपयोग कर, या कस्टम बफर के कुछ प्रकार जहां मैं केवल बारी बारी से करने की आवश्यकता होगी, पैमाने के साथ वर्तमान ग्राफ़िक्स पाइपलाइन का दोहन करने के लिए पर किसी भी विचारों के साथ शुरू करने के लिए पर सलाह त्रिकोण के रंग बदल पहले से ही स्क्रीन स्थान में बसा।

मैं के रूप में हालांकि मेरे विशिष्ट यूज-केस बहुत कुछ इस तरह से लाभ होगा, मैं वास्तव में सिर्फ यह कैसे दृष्टिकोण नहीं जानता कि लग रहा है।

मैं एक अनुभवहीन कार्यान्वयन इस वर्कफ़्लो का उपयोग कर चल रहा है:

  • एक GeoJSON FeatureCollection स्रोत बनाएं
  • भरण परत बनाएं
  • का उपयोग करते हुए डेटा संचालित संपत्ति: भरने के रंग

डाटा समारोह:

  1. नक्शा सीमा जाओ
  2. परियोजना sw और स्क्रीन अंक में ne (map.project (LatLng))
  3. फूट डालो ऊंचाई और चौड़ाई भागों में
  4. चौड़ाई और ऊंचाई भागों के माध्यम से लूप
  5. लुक डेटा
  6. एक्सेस डेटा रोटेशन संपत्ति
  7. केंद्र बिंदु + आकार के आधार पर कोने बनाएं
  8. कोने घुमाएँ
  9. कोने के लिए प्वाइंट वस्तुओं बनाएं
  10. Unproject प्वाइंट वस्तु और रैप map.unproject (प्वाइंट) .wrap ()
  11. फ़ीचर वस्तु बनाएँ, डेटा संचालित रंग आवंटित
  12. unprojected LatLng निरुपित के रूप में बहुभुज ज्यामिति के निर्देशांक
  13. संग्रह के लिए सरणी फ़ीचर में जोड़े
  14. परत पर setData कॉल

इसलिए जब यह काम करता है, मैं एक और अधिक प्रदर्शन अनुकूल दृष्टिकोण के लिए सलाह के लिए देख रहा हूँ।

क्या मैं यहाँ सोच रहा हूँ कि क्या मैं किसी भी तरह एक कस्टम परत, एक जहाँ मैं केवल स्क्रीन समन्वय करने के लिए आकर्षित करने के लिए अपनी LatLng बात करने के लिए डेटा रिश्तेदार का प्रतिनिधित्व करने की जरूरत है बना सकते हैं। तो यह है कि मैं रंग, बढ़ाया आकर्षित कर सकते हैं, स्क्रीन अंतरिक्ष में त्रिकोण घुमाया, और फिर उन्हें नई रिश्तेदार LatLng की स्थिति से संबंधित डेटा के लिए अद्यतन किया है।

उदाहरण के लिए स्क्रीन पर मेष किसी प्रकार की अद्यतन बजाय करने की: unproject, तो map.getSource ( 'तीर') का उपयोग कर अद्यतन सुविधा संग्रह स्रोत setData (घ), requestAnimationFrame (समारोह) आदि।

मैं अन्य परियोजनाओं में Three.js में इसी तरह से किया है, लेकिन मैं बहुत बल्कि कुछ है कि और अधिक MapBox देशी का प्रयोग करेंगे। यह संभव ध्वनि करता है? मैं यदि ऐसा है तो एक सभ्य प्रदर्शन को बढ़ावा देने को देखने के लिए जा रहा हूँ? मैं कच्चे जीएल कॉल आदि से पहले तो मैं सही दिशा में एक या दो सूचक आवश्यकता हो सकती है अगर इसके कि जितनी कम स्तर प्राप्त करने की आवश्यकता के लिए जा रहा से नहीं निपटा गया है।

संपादित करें:

पिछला कार्यान्वयन का उपयोग कर GMaps / Three.js: volvooceanrace (बटन के लिए प्रतीक्षा काला करने के लिए ग्रे से जाने के लिए छोड़ दिया पर) शीर्ष बटन जो एक 'हवा' लेबल जब पर होवर किया है पता चलता पर क्लिक करें, नीचे लाल समय बार स्लाइड डेटा बदलने के लिए।

वर्तमान कार्यशील कार्यान्वयन की जोड़ी स्क्रीनशॉट MapBox जीएल तीर

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


1 जवाब

वोट
0

सुनिश्चित नहीं हैं कि 2016 में उपलब्ध था, लेकिन एक उचित दृष्टिकोण इन दिनों का उपयोग हो सकता है symbolपरतें, और icon-rotateडेटा के आधार पर संपत्ति अपने डेटा बिंदु के संपत्ति के आधार पर प्रत्येक आइकन को घुमाने के लिए।

20/06/2018 को 03:04
का स्रोत उपयोगकर्ता

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