2013-03-28 19 views
6

मैंने अतीत में कई वेबसाइटों पर Google मानचित्र का उपयोग किया है, लेकिन मुझे पहले किसी समस्या का सामना नहीं हुआ है। नक्शा विंडो दिखा रही है, लेकिन यह केवल ऊपरी बाईं ओर से नक्शा खंड दिखा रही है, और उसके बाद कुछ भी (यहां तक ​​कि जब मैं चारों ओर घूम रहा हूं), कुछ भी सही नहीं है। ऐसा लगता है कि जिस खिड़की के चारों ओर घूमती है वह एक आंतरिक ऑफसेट है जो इसे व्यूपोर्ट के किनारे से दबा रही है। क्या किसी को पता है कि इसका कारण क्या हो सकता है?Google मानचित्र विंडो केवल मानचित्र का हिस्सा दिखा रहा है

संपादित

मैं बस पता चला है कि जब खिड़की का आकार बदलने पर, नक्शे के रिफ्रेश, और लेआउट तय हो गई है।

मानचित्र जावास्क्रिप्ट के माध्यम से दिखाए गए टैब के भीतर निहित है (और display:none के माध्यम से छिपा हुआ है)। टैब कंटेनर AJAX के माध्यम से लोड किया जाता है, और जब यह लोड होता है, तो लोडमैप फ़ंक्शन को कॉल किया जाता है। मैंने लोडमैप फ़ंक्शन को एक सेटटाइमआउट फ़ंक्शन में संलग्न करके इसे 1 सेकंड तक नक्शा बनाने में देरी की कोशिश की, लेकिन यह अभी भी वही करता है (विंडो को इसे ठीक करने के लिए आकार बदलने की आवश्यकता होती है)

उत्तर

2

राइटो, मैं नहीं हूं सुनिश्चित करें कि यह क्यों काम नहीं कर रहा है, लेकिन टैब को पहली बार खोले जाने पर मैंने नक्शा निर्माण फ़ंक्शन निष्पादित करने के लिए अपना कोड बदल दिया है। इससे यह सही ढंग से काम करता है

4

यह एक सामान्य समस्या है जब आप नक्शा कंटेनर छिपाते हैं या जब आप मानचित्र बनाते हैं तो शून्य आयाम होते हैं। के बाद नक्शा दिखाई देने लगता है या है

  • आस्थगित करें नक्शा बनाने जब तक कंटेनर तत्व दिखाई दे रहा है और ठीक से आकार, या

  • कॉल google.maps.event.trigger(map, 'resize'):

    सामान्य समाधान इन में से एक कार्य करने के लिए है आकार दिया। यह घटना नक्शे में दिखाई देने वाली चीज़ों की गणना को समायोजित करने के लिए मैप्स एपीआई को बताती है।

ऐसा लगता है कि आप पहले विकल्प का उपयोग कर इसे हल कर चुके हैं, जो निश्चित रूप से दोनों की बेहतर पसंद है। आपका पृष्ठ तेज़ी से लोड हो जाएगा क्योंकि आप अदृश्य मानचित्र बनाने के लिए समय नहीं व्यतीत कर रहे हैं। यदि आपके पास ऐसी स्थिति है जहां नक्शा का आकार बदल सकता है (उदा। एक आकार बदलने योग्य विंडो) तो जब ऐसा होता है तो आप आकार बदलने का ईवेंट ट्रिगर कर सकते हैं।

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