2011-09-02 6 views
16

मुझे GoogleMap प्रदर्शित करने में कोई समस्या है। http://pastebin.com/LjhVbEF7GoogleMap ऑफ़सेटविड्थ समस्या

जब मैं इस वेबसाइट को चलाने के लिए कोशिश कर रहा हूँ, नक्शे प्रदर्शित नहीं किया जाता:

यहाँ वेबसाइट के स्रोत कोड है। फायरबग कंसोल कहते हैं Uncaught TypeError: Cannot read property 'offsetWidth' of null

क्या आपको कोई विचार है कि मैं क्या गलत कर रहा हूं? मुझे पता है कि नेट पर कई कामकाजी उदाहरण हैं लेकिन यह कोड एक विशेष स्क्रिप्ट द्वारा उत्पन्न होता है और मैं इसे अधिक हस्तक्षेप करने में सक्षम नहीं हूं। शायद मैं कुछ चर सेट करने के लिए भूल गया?

धन्यवाद, माइक

=================

संपादित करें: इस कोड को केवल काम कर रहा है जब मैं में जे एस डाल देता हूँ फ़ंक्शन परिभाषा और इसे बॉडी ऑनलोड पैराम में कॉल करें। क्या आपको कोई विचार है कि मैं इस तरह के फ़ंक्शन और ऑनलोड परम के बिना इसे कैसे काम कर सकता हूं?

उत्तर

21

मुझे लगता है कि यह थोड़ी देर हो चुकी शायद नक्शे साइट से इस बिट का प्रयास करें - लेकिन उम्मीद है कि यह किसी और मदद करने के लिए सक्षम हो जाएगा:

में आपका मामला प्रारंभिक कार्य फायरिंग नहीं है, हालांकि यह कंटेनर div पर सेट नहीं होने वाली चौड़ाई और ऊंचाई विशेषताओं के कारण भी हो सकता है।

//Add onload to body 
$(window).load(function(){ 
    initialize() 
}); 
+0

यदि आप एक पृष्ठ एप्लिकेशन का उपयोग कर रहे हैं तो एक विकल्प क्या होगा? –

+0

मुझे लगता है कि आप आंशिक रूप से लोड होने के बाद केवल प्रारंभिक कॉल करने की आवश्यकता होगी। – Chris

1

सुनिश्चित नहीं हैं, लेकिन यह इस लाइन

map_4e60b1f9c94ae.setCenter(new google.maps.LatLng(0, 0, 1)); 

मुझे लगता है कि new google.maps.LatLng केवल दो विशेषताओं, अक्षांश और देशांतर लेता है हो सकता है।

var latlng = new google.maps.LatLng(-34.397, 150.644); 

http://code.google.com/apis/maps/documentation/javascript/tutorial.html

+0

ऐसा नहीं है लेकिन मुझे नई चीज़ मिली है। कृपया मुख्य पोस्ट में संपादित करें :) – mbajur

1

कोशिश शरीर में और बाद div id="map_canvas"

कुछ इस तरह जावा स्क्रिप्ट कोड डाल करने के लिए: आप बस बॉडी टैग आप निम्नलिखित jQuery का उपयोग कर सकते करने के लिए लोड घटना जोड़ने के लिए नहीं करना चाहते हैं

<body> 
    <div id="map_canvas"></div> 

    <script type="text/javascript"> 
     var map_4e60b1f9c94ae = new google.maps.Map(document.getElementById("map_canvas"), {"mapTypeId":"roadmap","zoom":10}); 
     map_4e60b1f9c94ae.setCenter(new google.maps.LatLng(0, 0, 1)); 
    </script> 
</body> 
2

क्या आप संभवतः अंगुलरजेएस में काम कर रहे हैं? मैं था, और यह समस्या उपरोक्त सभी समाधानों से पहले बनी रही। कारण यह था कि आंशिक जहां मैंने अपना नक्शा div स्थित था, समय पर पूरा नहीं हो रहा था, इसलिए div शून्य था, इसलिए आपको मिली त्रुटि।

Initialize Google Map in AngularJS

2

इसका कारण यह है अपनी स्क्रिप्ट डोम तत्व लोड करने से पहले चलाता है:

कोणीय रास्ता GoogleMaps यहां कॉल करने के लिए देखें। एक साधारण समाधान इसे एक फ़ंक्शन में रखना और लोडिंग समाप्त होने पर इसे ट्रिगर करना है।नीचे दिए गए प्रश्न का संदर्भ लें:

Google MAP API Uncaught TypeError: Cannot read property 'offsetWidth' of null

2

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