2008-10-06 19 views
7

मैं कुछ, अधिमानतः एफ/ओएसएस, KML और/या KMZ डेटा से एक गूगल मैप्स ओवरले उत्पन्न कर सकते हैं खोजने की कोशिश कर रहा हूँ।गूगल मैप्स ओवरले

हम एक घटना साइट हम पिछले साल समायोजित करने के लिए ~ 16,000 जगह मार्कर की जरूरत है कि काम कर रहे हैं मिल गया है और संभावना इस साल कम से कम है कि कई फिर से करना होगा। पिछले साल, जिस कंपनी ने साइट की थी, उसने सीधे केएमएल डेटा को सीधे जीमैप्स एपीआई में खिलाया और इसे सभी मार्कर क्लाइंट साइड रखने दिया। जाहिर है, यह एक प्रदर्शन दुःस्वप्न बन गया और पुराने ब्राउज़रों को "फ्रीज" बनाने के लिए प्रेरित किया गया (या कम से कम एक समय में कई मिनटों के लिए जमे हुए दिखाई देते हैं)।

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

इस पर कोई मार्गदर्शन या सिफारिशों की सराहना की जाएगी।

अद्यतन 10/8/2008 - जानकारी के अधिकांश मैं यहाँ का सामना करना पड़ा और अन्य स्थानों पर संकेत मिलता है कि मानचित्र पर बिंदुओं की संख्या कम तरीका है जाने के लिए प्रतीत होता है (यानी एक मार्कर का उपयोग कर उच्च ऊंचाई/ज़ूम स्तर से देखने पर कई का प्रतिनिधित्व करें)। हालांकि यह कुछ मामलों में शायद एक अच्छा दृष्टिकोण है, यह यहां काम नहीं करेगा। हम यूएस मानचित्र के दृश्य प्रभाव की तलाश कर रहे हैं जिसमें हजारों मार्कर हैं। एक विकल्प जिसे मैंने एक्सप्लोर किया है वह एक सेवा है जिसे PushPin कहा जाता है, जो खिलाया जाता है (संभवतः) केएमएल, सर्वर पक्ष, एक ओवरले बनाता है जिसमें सभी दृश्यमान बिंदु (केंद्र लैट/लॉन और ज़ूम स्तर के आधार पर) एक छवि पर प्रस्तुत होते हैं , इसलिए कई हजार डीओएम मैनिपुलेशन क्लाइंट साइड करने की बजाय, हम उन सभी मार्करों को एक छवि सर्वर पक्ष में विलय करते हैं और क्लाइंट एंड पर एक एकल डोम मैनिपुलेशन करते हैं। पुशपिन सेवा वास्तव में चालाक है और अगर निश्चित लागत के लिए नहीं तो निश्चित रूप से काम करेगी। हम वास्तव में कुछ एफ/ओएसएस की तलाश में हैं जो हम उस ओवरले को उत्पन्न करने के लिए सर्वर पक्ष चला सकते हैं।

उत्तर

0

यह एक कठिन है। आप custom tilesets with Google Maps का उपयोग कर सकते हैं, लेकिन आपको अभी भी टाइल्स (मैन्युअल रूप से अन्य) उत्पन्न करने के लिए कुछ तरीका चाहिए।

मुझे डर है कि सब मुझे मिल गया है है कर रहा हूँ =/

+0

हाँ, यह निश्चित रूप से ओवरले होने में मेरी सोच है, लेकिन जो मैं विशेष रूप से उम्मीद कर रहा हूं वह कुछ सर्वर पक्ष है जो केएमएल, सेंटर लैट/लॉन और ज़ूम स्तर के आधार पर ओवरले उत्पन्न करेगा। – theraccoonbear

4

आप Geoserver या Mapserver की तरह कुछ पर गौर कर सकते हैं। वे Google मानचित्र क्लोन हैं, और बहुत कुछ।

आप जो ओवरले पसंद करते हैं उसे उत्पन्न कर सकते हैं, और जियोसरवर (मुझे लगता है कि नक्शार्वर भी करता है) आपको अपने मानचित्रों को मिश्रित करने के लिए केएमएल, पीडीएफ, पीएनजी और अन्य आउटपुट दे सकता है, या आप अपने पूरे मानचित्र को स्वयं बना सकते हैं, लेकिन उसमें देर लगती है।

+0

ये दिलचस्प लगते हैं, मैं देखता हूं कि वे हमारे उद्देश्यों के लिए काम करेंगे या नहीं। – theraccoonbear

+1

हम बदनाम रूप से GeoServer और GeoWebCache में देख रहे होंगे! – Adrian

+4

Defiantly? "बस हमें रोकने की कोशिश करो !!!" ;) – DanM

1

मैं नहीं जानता कि कैसे किराया आप अपने प्रोजेक्ट के साथ हैं, लेकिन हो सकता है आप GeoDjango पर एक नज़र ले जा सकते हैं? संशोधित Django रिलीज में स्थानों को स्टोर करने के लिए सभी प्रकार के टूल्स शामिल हैं; समन्वय परिवर्तित करें और नक्शे को प्रदर्शित करें, आसान तरीका। ऑफकोर्स आपको कुछ पायथन अनुभव और इसे चलाने के लिए एक सर्वर की आवश्यकता है, लेकिन एक बार जब आप Django की लटक लेते हैं तो यह तेज़ और अच्छा काम करता है।

यदि आप बस अपनी समस्या का समाधान चाहते हैं तो अपने परिणामों को कम ज़ूम स्तर पर समूहित करने का प्रयास करें, इस कार्यान्वयन का एक अच्छा उदाहरण here पाया जा सकता है।

+0

मुझे नहीं पता कि Django/Python एक सौदा ब्रेकर होगा, लेकिन मैंने पहले कभी भी तकनीक के साथ काम नहीं किया है। इस साइट का मूल ग्राहक के अनुरोध के अनुसार, ड्रूपल में डॉन होने जा रहा है, इसलिए एक PHP बैकएंड विचार होगा। हालांकि मैं इस विकल्प को जांचूंगा। – theraccoonbear

0

OpenLayers कई मानचित्रण सेवाओं या अपना स्वयं का नक्शा सर्वर के लिए एक महान जावास्क्रिप्ट दृश्यपटल है। संस्करण 2.7 अभी जारी किया गया था, जो कुछ सुंदर अद्भुत सुविधाओं और नियंत्रण जोड़ता है।

2

सुनिश्चित नहीं हैं कि क्यों एक GIF/PNG ओवरले के लिए जाना चाहते हैं, तो आप KML में सीधे कर सकते हैं।मुझे लगता है कि आपकी अधिकांश प्रदर्शन समस्या उपयोगकर्ता के वर्तमान दृश्य के बाहर के बिंदुओं के कारण हुई थी, यानी उपयोगकर्ता न्यूयॉर्क देख रहा है लेकिन आपके पास लॉस एंजिल्स में अंक हैं जो स्मृति को बर्बाद कर रहे हैं क्योंकि वे दिखाई नहीं दे रहे हैं। यदि आपके पास वास्तव में 16,000 अंक हैं जो सभी एक विशिष्ट के लिए एक बार में दिखाई देते हैं तो हाँ आपको एक अलग रणनीति को आगे बढ़ाने की आवश्यकता होगी।

ऊपर लागू होता है, प्रक्रिया के रूप में किया जाएगा इस प्रकार है:

  1. निर्धारित नक्शा
  2. को देखते हुए के केंद्र & इस हद तक कि आप ऊपरी बाएँ की लंबी अक्षांश/गणना करने के लिए सक्षम होना चाहिए और मानचित्र के निचले दाएं कोने।
  3. अंक के अपने डेटाबेस के माध्यम से Iterate और दो कोनों के खिलाफ प्रत्येक स्थान की जांच करें। ऊपरी बाएं देशांतर की तुलना में रेखांश को अधिक (हस्ताक्षरित!) और निचले दाएं देशांतर से कम होना चाहिए। अक्षांश को ऊपरी बाएं अक्षांश (हस्ताक्षरित!) से कम होना चाहिए और निचले दाएं अक्षांश से अधिक होना चाहिए। बस सरल तुलना, यहां कोई फैंसी गणना की आवश्यकता नहीं है।
  4. उपयोगकर्ता के लिए एक अस्थायी केएमएल के मिलान बिंदुओं को आउटपुट करें।
  5. आप KML directly into Google Maps खिला सकते हैं और इसे मानचित्र बना सकते हैं, या आप Javascript maps API का उपयोग केएमएल के माध्यम से अंक लोड करने के लिए कर सकते हैं।

यह आपकी सटीक समस्या का समाधान नहीं कर सकता है, लेकिन संबंधित मुद्दों के लिए आप Google Static Maps API पर भी देख सकते हैं। यह आपको उस पर प्लेमार्कर्स के साथ एक स्थिर छवि फ़ाइल बनाने की अनुमति देता है जो बहुत तेज़ी से लोड हो जाएगा, लेकिन नियमित Google मानचित्र की अंतःक्रियाशीलता नहीं होगी। एपीआई डिज़ाइन किए जाने के तरीके के कारण, हालांकि, यह 16,000 अंकों के करीब कहीं भी संभाल नहीं सकता है, इसलिए आपको अभी भी दृश्य में फ़िल्टर करना होगा।

+0

योजना एक राष्ट्रीय स्तर का दृश्य है जो पूर्ण डेटा सेट दिखा रहा है, इसलिए हां, हमें वास्तव में सभी बिंदुओं को समवर्ती रूप से प्रदर्शित करने की आवश्यकता है। हम ज़ूमिंग की अनुमति देंगे और उपयोगकर्ता के ड्रिल डाउन के रूप में छोटे केएमएल डेटा सेट का उपयोग करने के लिए ज़ूम लेवल व्यू त्रिज्या के साथ काम कर सकते हैं, लेकिन हमें सभी को प्रदर्शित करने में सक्षम होना चाहिए। – theraccoonbear

+0

मैं उन घटनाओं के क्लस्टर ढूंढने की रणनीति तैयार करूंगा जो आप राष्ट्रीय मानचित्र पर एक पुशपिन को कम कर सकते हैं, जो कि उस शहर के दृश्य के लिए हाइपरलिंक्स है। विधि समान होगी लेकिन आपको "x" मील के भीतर वाले बिंदुओं को ढूंढने के लिए हावरसिन फॉर्मूला के एक संस्करण का उपयोग करना होगा। –

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