9

Tôi đã đọc tài liệu và ví dụ, nhưng có vẻ như tôi không thể giải quyết lỗi khởi tạo ("Tham chiếu không bắt buộc: google không được xác định" + Tham chiếu không bắt buộc: homeLatLng không được định nghĩa) khi cố gắng bao gồm tệp markerwithlabel.js và nó nhắc tôi nhớ đến "bạn không thể tải thứ gì đó trước khi bản đồ được thực hiện".API Google Maps: markerwithlabel.js - Tham chiếu không bắt buộcLỗi: google không được xác định

Tôi có thể làm gì?

gì đã cố gắng:

<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> 

..

Trả lời

13

markerwithlabel.js đòi hỏi một đã nạp bản đồ-API.

Khi bạn tải bản đồ-API không đồng bộ (như bạn làm trong mã của mình), không có gì đảm bảo rằng bản đồ-API được tải khi markerwithlabel.js sẽ được tải.

giải pháp: tải các bản đồ-API đồng bộ

<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

này hoạt động hoàn hảo. (Cảm ơn bạn đã giải thích! – maxxyoo

+0

Cảm ơn rất nhiều .--) Tôi đã lãng phí thời gian để cố gắng giải quyết. – user1355041

+0

"http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerwithlabel/src/markerwithlabel.js" không tồn tại. – Meysam

Các vấn đề liên quan