2013-02-26 5 views
1

Donc ce que j'essaye de faire est d'obtenir l'URL d'un graphique d'image de visualisation de Google (pas la version de SVG).Obtenir l'URL de l'image de visualisation de Google Graphique

Pour créer le graphique, je suis en utilisant ce code:

<script type='text/javascript'> 
    google.load('visualization', '1', {packages:['imagelinechart']}); 
    google.setOnLoadCallback(drawChart); 
    function drawChart() { 
    var data = google.visualization.arrayToDataTable([ 
    ['Time', 'Value'], 

['5:00', 13535],['5:30', 13549] 
]); 
    var chart = new google.visualization.ImageLineChart(document.getElementById('chart_div')); 
    chart.draw(data, {width: 750, height: 240, legend: 'none', title: 'TITLE'}); 


    } 


    </script> 

Cela crée l'image dans un mais je ne peux pas obtenir l'URL à l'intérieur d'une variable. (Oui, je ne peux évidemment copier l'image une fois la page chargée et obtenir l'URL)

J'ai essayé:

chart.getImageURL() 

..mais n'a pas eu de chance.

Toute aide est grandement appréciée. C'est un gros problème pour moi.

Merci, Phil

Répondre

0

Google graphiques de visualisation ne sont pas rendus sous forme d'images, et ne peuvent pas être enregistrés sous forme d'images que le comportement par défaut. Il est possible de créer une fonction qui enregistrera le graphique SVG en tant qu'image PNG, comme décrit here. Cela peut être effectué en suivant les étapes this page. Notez que le code dans l'article est basé sur une ancienne version de Google Visualization qui utilisait iframes, et ne fonctionnerait pas comme posté. Cependant, vous pouvez faire la même chose en utilisant le code suivant (dans les commentaires):

var svg = $(chartContainer).find('svg').parent().html(); 
var doc = chartContainer.ownerDocument; 
var canvas = doc.createElement('canvas'); 
canvas.setAttribute('style', 'position: absolute; ' + ''); 
doc.body.appendChild(canvas); 
canvg(canvas, svg); 
var imgData = canvas.toDataURL("image/png"); 
canvas.parentNode.removeChild(canvas); 
return imgData; 

Note: Je n'ai pas créé ce code, il a été créé à l'origine par l'auteur du site ci-dessus (Riccardo Govoni) et mis à jour dans la section des commentaires par l'utilisateur Thomas.

Questions connexes