9

मैंने दस्तावेज़ और उदाहरण पढ़ लिए हैं, लेकिन मुझे लगता है कि मैं प्रारंभिक त्रुटि को हल नहीं कर सकता ("अनचाहे संदर्भ त्रुटि: Google परिभाषित नहीं किया गया है" + असहमत संदर्भ त्रुटि: homeLatLng परिभाषित नहीं किया गया है) markerwithlabel.js फ़ाइल और को शामिल करने का प्रयास करते समय यह मुझे "नक्शा पूरा होने से पहले कुछ लोड नहीं कर सकता" की याद दिलाता है।Google मैप्स एपीआई: markerwithlabel.js - Uncaught ReferenceError: google को परिभाषित नहीं किया गया है

मैं क्या कर सकता हूं?

क्या करने की कोशिश की गई थी:

<head> 
<script async defer src="https://maps.googleapis.com/maps/api/js?key=mykey&callback=initMap"></script> 
<script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerwithlabel/src/markerwithlabel.js"></script> 
<script type="text/javascript"> 
    var map; 
    function initMap() { 

      map = new google.maps.Map(document.getElementById('map'), { 
       zoom: 14, 
       center: {lat: 52.5200066, lng: 13.404954} 
      }); 

      var marker1 = new MarkerWithLabel({ 
        position: homeLatLng, 
        draggable: true, 
        raiseOnDrag: true, 
        map: map, 
        labelContent: "$425K", 
        labelAnchor: new google.maps.Point(22, 0), 
        labelClass: "labels", // the CSS class for the label 
        labelStyle: {opacity: 0.75} 
      }); 
    } 
</script> 

..

उत्तर

13

markerwithlabel.js एक पहले से ही भरी हुई नक्शे-एपीआई की आवश्यकता है।

जब आप नक्शे-एपीआई को असीमित रूप से लोड करते हैं (जैसा कि आप अपने कोड में करते हैं), तो कोई गारंटी नहीं है कि markerwithlabel.js लोड होने पर मानचित्र-एपीआई लोड हो जाती है।

समाधान: नक्शे-एपीआई लोड तुल्यकालिक

<script src="https://maps.googleapis.com/maps/api/js?v=3&key=mykey"></script> 
<script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerwithlabel/src/markerwithlabel.js"></script> 
<script type="text/javascript"> 
    var map; 
    function initMap() { 

      map = new google.maps.Map(document.getElementById('map'), { 
       zoom: 14, 
       center: {lat: 52.5200066, lng: 13.404954} 
      }); 

      var marker1 = new MarkerWithLabel({ 
        position: homeLatLng, 
        draggable: true, 
        raiseOnDrag: true, 
        map: map, 
        labelContent: "$425K", 
        labelAnchor: new google.maps.Point(22, 0), 
        labelClass: "labels", // the CSS class for the label 
        labelStyle: {opacity: 0.75} 
      }); 
    } 
google.maps.event.addDomListener(window, 'load', initMap); 
</script> 
+0

यह एकदम सही काम करता है। (: स्पष्टीकरण के लिए धन्यवाद! – maxxyoo

+0

बहुत बहुत धन्यवाद। :-) मैंने इसे काम करने की कोशिश करने में घंटों बर्बाद कर दिए हैं। – user1355041

+0

"http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerwithlabel/src/markerwithlabel.js" मौजूद नहीं है। – Meysam

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