2017-05-08 47 views
-1

我有一個可拖動方向的地圖頁面,我想插入一個按鈕來保存html2canvas地圖div的屏幕。我有這樣的代碼:如何使用html2canvas保存div

<html> 
 
    <head> 
 
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> 
 
    <meta charset="utf-8"> 
 
    <title>Draggable directions</title> 
 
    <style> 
 
     #right-panel { 
 
     font-family: 'Roboto','sans-serif'; 
 
     line-height: 30px; 
 
     padding-left: 10px; 
 
     } 
 

 
     #right-panel select, #right-panel input { 
 
     font-size: 15px; 
 
     } 
 

 
     #right-panel select { 
 
     width: 100%; 
 
     } 
 

 
     #right-panel i { 
 
     font-size: 12px; 
 
     } 
 
     html, body { 
 
     height: 100%; 
 
     margin: 0; 
 
     padding: 0; 
 
     } 
 
     #map { 
 
     height: 100%; 
 
     float: left; 
 
     width: 63%; 
 
     height: 100%; 
 
     } 
 
     #right-panel { 
 
     float: right; 
 
     width: 34%; 
 
     height: 100%; 
 
     } 
 
     .panel { 
 
     height: 100%; 
 
     overflow: auto; 
 
     } 
 
    </style> 
 
    </head> 
 
    <body> 
 
\t <div id="prova"></div> 
 
    <div id="map"></div> 
 
    <div id="right-panel"> 
 
     <p>Total Distance: <span id="total"></span></p> 
 
    </div> 
 
    <script> 
 
     function initMap() { 
 
     var map = new google.maps.Map(document.getElementById('map'), { 
 
      zoom: 4, 
 
      center: {lat: -24.345, lng: 134.46} // Australia. 
 
     }); 
 

 
     var directionsService = new google.maps.DirectionsService; 
 
     var directionsDisplay = new google.maps.DirectionsRenderer({ 
 
      draggable: true, 
 
      map: map, 
 
      panel: document.getElementById('right-panel') 
 
     }); 
 

 
     directionsDisplay.addListener('directions_changed', function() { 
 
      computeTotalDistance(directionsDisplay.getDirections()); 
 
     }); 
 

 
     displayRoute('Perth, WA', 'Sydney, NSW', directionsService, 
 
      directionsDisplay); 
 
     } 
 

 
     function displayRoute(origin, destination, service, display) { 
 
     service.route({ 
 
      origin: origin, 
 
      destination: destination, 
 
      waypoints: [{location: 'Adelaide, SA'}, {location: 'Broken Hill, NSW'}], 
 
      travelMode: 'DRIVING', 
 
      avoidTolls: true 
 
     }, function(response, status) { 
 
      if (status === 'OK') { 
 
      display.setDirections(response); 
 
      } else { 
 
      alert('Could not display directions due to: ' + status); 
 
      } 
 
     }); 
 
     } 
 

 
     function computeTotalDistance(result) { 
 
     var total = 0; 
 
     var myroute = result.routes[0]; 
 
     for (var i = 0; i < myroute.legs.length; i++) { 
 
      total += myroute.legs[i].distance.value; 
 
     } 
 
     total = total/1000; 
 
     document.getElementById('total').innerHTML = total + ' km'; 
 
     } 
 
    </script> 
 
    <script async defer 
 
    src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCuW8LXNxEX76FBnWPHKH9ddSYkwAKiszM&callback=initMap"> 
 
    </script> 
 
    
 
    
 
    </body> 
 
</html>

我如何使用html2canvas? 我嘗試使用腳本網站中的示例代碼,但它不起作用。

回答