2009-03-16 19 views
5

में कोई मार्कर दिखाई दे रहा है, मैं Google मानचित्र एप्लिकेशन विकसित कर रहा हूं और मैंने इस समस्या में भाग लिया है। मुझे मानचित्र से सीमा से बाहर सभी मार्करों को हटाने की जरूरत है।यह निर्धारित करना कि Google मानचित्र

क्या ऐसा करने का कोई आसान तरीका है, एक सरणी रखने और प्रत्येक मार्कर के latlng को देखने के अलावा?

मैं मार्करमेनगर का उपयोग नहीं कर सकता क्योंकि मेरे पास बहुत अधिक अंक हैं। मैं clearOverlays() का उपयोग नहीं करना चाहता क्योंकि यह किसी भी खुले मार्कर को बंद कर देगा।

किसी भी मदद की सराहना की जाएगी।

उत्तर

4

यदि आप प्रत्येक मार्कर को व्यक्तिगत रूप से देखना नहीं चाहते हैं तो उन्हें प्रारंभ में कुछ सेटों में क्लस्टर करें और सेट की सीमाओं की गणना करें।

आप मानचित्र पर वर्तमान में जो दिखा रहे हैं उसके आधार पर सेट सेट या छुपा सकते हैं (आप GMAP2.getBounds() का उपयोग कर मानचित्र की सीमा पा सकते हैं।

हम कितने अंक के बारे में बात कर रहे हैं?

अद्यतन

ए 65K बारे में।

मैं देख सकता हूं कि पेज लोड होने पर आप 65 के जीएमकर्स क्यों नहीं बना सकते हैं। इसमें 5 सेकंड लगेंगे।

मैं उन्हें 200 आइश के समूहों में क्लस्टर कर दूंगा और जब समूह का किनारा प्रदर्शित किनारे के बाहर 1/4 मानचित्र चौड़ाई के भीतर आता है तो मार्कर बनाएं और आसन्न समूह को प्रदर्शित करें। यह 1/2 के बाहर बाहरी किनारे की नक्शा चौड़ाई के बाहर जाता है और फिर समूह को छुपाता है। http://googlemapsapi.martinpearman.co.uk/articles.php?cat_id=1

  • clusterer - -

    अन्य विकल्प

    • क्लस्टर मार्कर के रूप में इस तरह के एक तीसरे पक्ष के पुस्तकालय का उपयोग कर रहे हैं http://www.acme.com/javascript/#Clusterer
  • +0

    65k, लेकिन मैं 300 से अधिक एक समय – Sklivvz

    +0

    पर कभी नहीं दिखाई देंगे टिप के लिए धन्यवाद, दूसरी समस्या यह है कि 65k मार्कर उत्पन्न करने के लिए जानकारी डाउनलोड करने में बहुत लंबा समय लगेगा ... – Sklivvz

    +0

    उन्हें सर्वर की तरफ समूह करें और प्रारंभिक पृष्ठ लोड में समूह सीमाएं लोड करें। फिर आप एजेक्स का उपयोग करके फ्लाई पर अंक डाउनलोड कर सकते हैं क्योंकि समूह नक्शे के प्रदर्शित भाग के करीब आते हैं। – RichH

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