2012-02-20 7 views
8

क्या यह कहीं भी दस्तावेज है कि मुझे google.maps मॉड्यूल को परिभाषित करने के लिए कॉलबैक निर्दिष्ट करने की आवश्यकता है? या यह एक बग है।यदि कोई कॉलबैक निर्दिष्ट नहीं किया गया है तो एसिंक्रोनस लोडिंग gmaps को अन्य आवश्यक Google मानचित्र स्क्रिप्ट लोड नहीं होते हैं

निम्नलिखित कोड गूगल मैप्स मॉड्यूल लोड नहीं करता है:

<!DOCTYPE html> 
<html> 
    <head> 
    <title> 
     Google Maps JavaScript API v3 Example: Asynchronous Map Simple 
    </title> 
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> 
    <meta charset="UTF-8"> 
    <style type="text/css"> 
     html { height: 100% } 
     body { height: 100%; margin: 0; padding: 0 } 
     #map_canvas { height: 100% } 
    </style> 
    <script type="text/javascript"> 
     function initialize() { 
     var myOptions = { 
      zoom: 8, 
      center: new google.maps.LatLng(-34.397, 150.644), 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 

     var map = new google.maps.Map(document.getElementById('map_canvas'), 
      myOptions); 
     } 

     function loadScript() { 
     var script = document.createElement('script'); 
     script.type = 'text/javascript'; 
     script.src = 'http://maps.googleapis.com/maps/api/js?v=3.6&key=myKey&sensor=false' //adding 'callback=something' gets the maps module to load 
     document.body.appendChild(script); 
     } 

     window.onload = loadScript; 
    </script> 
    </head> 
    <body> 
    <div id="map_canvas"></div> 
    </body> 
</html> 

संपादित करें - प्रतिक्रिया, जवाब देने के लिए

ऐसा करने के लिए आप एक के जवाब में अपना टैग इंजेक्षन कर सकते हैं window.onload इवेंट या फंक्शन कॉल, लेकिन आपको अतिरिक्त मैप्स जावास्क्रिप्ट एपीआई बूटस्ट्रैप को अपने एप्लिकेशन कोड के निष्पादन में देरी करने के लिए निर्देश देना होगा जब तक कि मानचित्र जावास्क्रिप्ट एपीआई कोड पूरी तरह से लोड नहीं हो जाता। आप कॉलबैक पैरामीटर का उपयोग कर ऐसा कर सकते हैं, जो एपीआई लोड करने को पूरा करने के लिए निष्पादित करने के लिए फ़ंक्शन के रूप में होता है।

यह कैसे दर्शाता है कि कॉलबैक नहीं होने से कोई भी एपीआई लोड नहीं होगा? यह कहता है कि यदि कोड पूरी तरह से लोड होने पर कोड निष्पादित करने के लिए कॉलबैक पैरामीटर का उपयोग कर सकता है लेकिन यह नहीं कहता कि कोड कॉलबैक पैरामीटर के बिना कभी लोड नहीं होगा।

उत्तर

0

यह यहाँ प्रलेखित है: http://code.google.com/apis/maps/documentation/javascript/tutorial.html#asynch

+0

मैं आपकी प्रतिक्रिया के लिए मेरे सवाल का संपादन किया। – pllee

+0

शब्द थोड़ा अजीब हो सकता है, लेकिन यह मुझे स्पष्ट लगता है कि आपको कॉलबैक पैरामीटर निर्दिष्ट करना होगा। यह अतुल्यकालिक रूप से स्क्रिप्ट लोड करने के लिए एक बहुत ही आम पैटर्न है। – puckhead

+0

ठीक है अगर उन्होंने कहा कि शायद इसके बजाय, मैं इस सवाल को पोस्ट नहीं करूँगा। वे सेंसर पैरामीटर को लागू करते हैं और डेवलपर्स को चेतावनी देते हैं यदि कोई निर्दिष्ट नहीं है तो यह एक और "आवश्यक" पैरामीटर के साथ समान कार्यक्षमता रखना अच्छा होगा। यह मेरे लिए एक बग की तरह लग रहा है। – pllee

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

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