2015-09-21 7 views
21

मैंने पूरे वेब पर इस समस्या की खोज की है और उनमें से कोई भी मुझे कोई संकल्प नहीं दे रहा है। दक्षिण अफ्रीका के मानचित्र को प्रदर्शित करने के लिए मेरे पास एक साधारण स्क्रिप्ट है।Google मैप्स एपीआई: TypeError: एक अपरिभाषित

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<meta http-equiv="x-ua-compatible" content="ie=edge, chrome=1" /> 
<title>Map Test</title> 
<script language="javascript" src="https://maps.googleapis.com/maps/api/js?sensor=true"></script> 
<style> 
#map-canvas { 
    height: 300px; 
    width: 980px; 
    margin: 0; 
    padding: 0; 
    margin-top: 10px; 
} 
</style> 
</head> 
<body> 
<div id="map-canvas" class="map_canvas"></div> 
<script type="text/javascript"> 
    function initialize() 
    { 
     var mapOptions = { 
      center: new google.maps.LatLng(-29.09958,26.18434), 
      zoom: 5, 
      mapTypeControlOptions: { 
       position: google.maps.ControlPosition.TOP_LEFT 
      } 
     }; 
     map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions); 
    } 
    google.maps.event.addDomListener(window, 'load', initialize); 
</script> 
</body> 
</html> 

लेकिन मुझे वही त्रुटि मिलती रहती है। मैंने एक अलग सर्वर पर भी कोशिश की है।

enter image description here

कृपया मदद

+0

मैं क्रोम 44 ~ 45 का उपयोग करके इस समस्या को दोहराना नहीं कर सका। मैंने फ़ायरफ़ॉक्स का भी प्रयास किया और कोई त्रुटि नहीं है। –

+0

@ किमहोनोरिडेज़, यह समस्या क्रोम को प्रभावित नहीं करती है। फ़ायरफ़ॉक्स 41.0.1 में त्रुटि intermittent है। –

उत्तर

46

मैं भी अक्सर अंतिम दिनों में इस त्रुटि को देखा है, वहाँ प्रयोगात्मक एपीआई-संस्करण के साथ एक मुद्दा हो रहा है।

लोड रिहाई संस्करण के बजाय (मूल रूप से आप हमेशा रिहाई संस्करण उत्पादन में लोड करना चाहिए)

<script language="javascript" src="https://maps.googleapis.com/maps/api/js?sensor=true&v=3"></script> 
+0

बहुत बहुत धन्यवाद, आप मेरा दिन बदलते हैं !!!! – Siick

+2

मुझे आश्चर्य है कि Google डिफ़ॉल्ट रूप से प्रयोगात्मक (यानी अस्थिर) संस्करण परोसता है। हालांकि, यह अक्सर मामला है: "यदि आप स्पष्ट रूप से एक संस्करण निर्दिष्ट नहीं करते हैं, तो आप डिफ़ॉल्ट रूप से प्रयोगात्मक संस्करण प्राप्त करेंगे। क्लाइंट आईडी निर्दिष्ट करने वाले कार्य ग्राहकों के लिए Google मानचित्र API डिफ़ॉल्ट रूप से रिलीज़ संस्करण प्राप्त करेगा।" (Https://developers.google.com/maps/documentation/javascript/versions से) –

+0

उत्तर v3 एपीआई का नवीनतम "रिलीज़" संस्करण लोड करेगा। कुछ अनुप्रयोगों के लिए, एक विशिष्ट संस्करण (उदा। 3.21) का अनुरोध करने के लिए यह अधिक उपयुक्त हो सकता है। अधिक मार्गदर्शन के लिए Google के "सर्वोत्तम अभ्यास" देखें: https://developers.google.com/maps/documentation/javascript/versions#best-practices –

1

गूगल मैप्स जब स्क्रिप्ट और स्पर्श की घटनाओं पर लोड हो रहा है त्रुटियों के जरिए शुरू कर दिया। मैं इसे एंड्रॉइड और आईओएस पर कॉर्डोवा एप्लिकेशन के लिए उपयोग कर रहा हूं। enter image description here

ये त्रुटियां हैं जो मुझे मिलती हैं लेकिन लोड संस्करण को बदलने से इसे हल नहीं किया जाता है।

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=MYKEY&v=3.21&libraries=geometry,places"></script> 
+0

मुझे अभी एहसास हुआ है कि जब मैं ऑनलाइन जा रहा था, तो मैं जीमैप्स एसिंक लोड कर रहा था, और वहां मेरा गलत यूआरएल था। यहाँ तुम जाओ, मेरा शनिवार बेवकूफ हो गया। – Daniela

+0

इसे हल करने में अच्छा काम और आपके निष्कर्षों को पोस्ट करने के लिए धन्यवाद। दूसरों की मदद करने के लिए हमेशा अच्छा है –

1

संस्करण 3.30+ इस समस्या से प्रभावित करता है, तो वहाँ एक वैश्विक वर Map कहा जाता है।

पूर्व:

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=YOURKEYHERE&v=3&callback=init" async defer></script> 
<script type="text/javascript"> 
    function init() { 
     Map.go(); 
    } 
    var Map = { 
     go: function() { 
      console.log("start engine"); 
     } 
    }; 
</script> 

हम यह त्रुटि आई:

TypeError: a.prototype is undefined

का नाम बदल रहा window.Map तो सब कुछ ठीक हो जाता है।

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