फिलहाल मैं मानचित्र पर मार्करों को आकर्षित करने के लिए Google मानचित्र v.3 API का उपयोग कर रहा हूं। मेरे पास कुल 500 मार्कर हैं।Google मानचित्र पर 100-200K मार्कर लोड हो रहा है
उद्देश्यों को प्रदर्शित करने के लिए मैं ब्राउज़र में क्लाइंट पक्ष पर इस टूल का उपयोग करके मार्करक्लस्टर और समूह मार्कर का उपयोग करता हूं।
हालांकि, मैं स्थान संख्या का विस्तार करने की योजना बना रहा हूं और मानता हूं कि यह 100K या 200K तक तेजी से बढ़ सकता है।
मैंने कुछ तनाव परीक्षण किए, और महसूस किया कि वर्तमान समाधान मूल रूप से ब्राउज़र और लगभग 10-20K मार्करों को मारता है।
तो मेरा सवाल है कि कई मार्करों को आकर्षित करने के लिए सबसे अच्छा तरीका क्या है (आवश्यक Google मानचित्र नहीं)?
मैं इसी तरह के सवाल के साथ पोस्ट, उदा .:
Showing many markers in Google Maps
Best solution for too many pins on google maps
पढ़ा है मूल रूप से लोगों को प्रदर्शन के उद्देश्य से है, जो मैं पहले से ही उपयोग के लिए कुछ clusterer उपयोग करने के लिए सुझाव देते हैं।
या डेटा पुनर्प्राप्त करने के लिए फ़्यूज़न टेबल का उपयोग करने के लिए, जो एक विकल्प नहीं है, क्योंकि डेटा को मेरे सर्वर पर रहना है। साथ ही मुझे लगता है कि प्रदर्शन कार्यक्षमता संलयन तालिकाओं के साथ सीमित है।
मैं इस परिदृश्य पर लागू करने के बारे में सोच रहा हूँ: प्रत्येक पृष्ठ ज़ूम/लोड पर
- प्रदर्शन दृश्य की सीमाएँ साथ ajax अनुरोध भेजने, सभी पक्षों पर के बारे में 30% जोड़ सकते हैं और, मार्कर को पुनः प्राप्त जो केवल इस भौगोलिक क्षेत्र में आते हैं। उपयोगकर्ता ज़ूम आउट होने पर 30% जोड़ा जाता है, ताकि मैं अन्य मार्करों को जल्दी से चारों ओर प्रदर्शित कर सकूं और फिर पृष्ठभूमि में आगे बढ़ सकें (व्यापक क्षेत्र)
जब मार्करों की संख्या 50 से अधिक है - तो मैं उद्देश्यों को प्रदर्शित करने के लिए क्लस्टरिंग लागू करने की योजना। लेकिन जैसा कि जावास्क्रिप्ट में मार्करक्लस्टर काफी धीमा है, अर्थात् मार्करक्लस्टर नहीं बल्कि Google स्वयं ही है, क्योंकि यह अभी भी सभी मार्करों के स्थानों को लागू करता है, मैं लगभग 15 * 15 ग्रिड में प्रदर्शित मानचित्र की सीमाओं को विभाजित करके सर्वर की तरफ क्लस्टरिंग करने की योजना बना रहा हूं। और मार्करों को विशेष कोशिकाओं में छोड़ दें और फिर मूल रूप से क्लाइंट क्लस्टर को अंदर मार्करों की संख्या के साथ भेजें (उदाहरण के लिए हीटमैप के लिए)। और फिर क्लस्टर को मार्कर के रूप में प्रदर्शित करने के लिए।
क्या आप कृपया कुछ अंतर्दृष्टि दे सकते हैं जो भी समान था। क्या यह सामान्य रूप से समझ में आता है। या यह एक बेवकूफ दृष्टिकोण है क्योंकि AJAX अनुरोध सर्वर पर प्रत्येक मानचित्र ज़ूम और शिफ्ट और मूल रूप से अनावश्यक अनुरोधों के साथ अधिभार सर्वर पर भेजा जाएगा?
जो मैं प्राप्त करना चाहता हूं वह मार्करों के बड़े डेटासेट (2 सेकंड से कम में लोड करने के लिए) पर एक अच्छा उपयोगकर्ता अनुभव है।
इसके बजाय बैचों में AJAX कॉल के माध्यम से मार्कर लाएं और उन्हें एक बैच – sunil
@sunil में खींचें क्या आप विस्तृत कर सकते हैं? तो विशेष क्षेत्रों के लिए बैच लोड करें और उन्हें क्षेत्र द्वारा क्षेत्र बनाएं - यह मेरे लिए लगता है कि उपयोगकर्ता के लिए कुल गड़बड़ होगी। – Volder
आपकी योजना के बारे में सोचने का एक और तरीका यह है कि आपके पास सर्वर पर बहु-स्तरीय वेक्टर टाइल्स हैं - बस नक्शा टाइल्स की तरह, लेकिन ये "टाइल्स" किसी क्षेत्र के भीतर मार्कर/क्लस्टर स्थितियों की स्थिति हैं। ज़ूम स्तर और सीमा के अनुसार फ्रंट एंड ऐसे "टाइल्स" का अनुरोध करता है। ग्राहक इस तरह के "टाइल्स" को कैश कर सकता है और इस प्रकार प्रत्येक ज़ूम और पैन के साथ पुनः लोड करने की आवश्यकता नहीं हो सकती है। – headuck