Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google GeoChart ignores width/height

This was working fine until yesterday, when the Google geochart has stopped listening to me!

Width and height are being ignored, and the map has returned to a small version in the top right of it's full width div.

       google.load('visualization', '1', {'packages': ['geomap']});


    function drawMap() {

        var data = new google.visualization.DataTable();
        data.addColumn('string', 'City'); 
        data.addColumn('number', 'Visits'); 
        data.addColumn({type:'string', role:'tooltip', 'p': {'html': true}}); 
        data.addRows(#{GuideEditController.getCitiesData()});

  var options = {
        sizeAxis: { minValue: 0, maxValue: 100 },       
        displayMode: 'markers',
        colorAxis: {colors: ['#33ADFF', '#003D66']},
        width : '100%',
        height : '600px',
        enableRegionInteractivity: false,
        keepAspectRatio: true,
        legend : 'none',
        tooltip: {isHtml: true}
      };

      var container = document.getElementById('map_canvas');
      var geomap = new google.visualization.GeoChart(container);
      geomap.draw(data, options);
    };


      ....
     <div class="map" id='map_canvas'></div>
       <script type='text/javascript'>
       drawMap();
       </script>

image

This DIV seems to be the culprit to me.. I've got no idea where it came from, but assume it's a Google thing.

The reason the call is made after the DIV is because the map is loaded on a tab that is loaded after the main page.

This was working fine yesterday...

like image 498
beek Avatar asked Oct 31 '22 02:10

beek


1 Answers

It seems Google GeoChart ignores width and height options (although they mention them in https://developers.google.com/chart/interactive/docs/gallery/geochart).

I had a similar problem and this worked for me:

var options = {
    sizeAxis: { minValue: 0, maxValue: 100 },       
    displayMode: 'markers',
    colorAxis: {colors: ['#33ADFF', '#003D66']},
    enableRegionInteractivity: false,
    keepAspectRatio: true,
    legend : 'none',
    tooltip: {isHtml: true}
};

...

<div id="map_canvas" class="map" style="width: 100%; height: 600px;"></div>
like image 147
Projectos na Net Avatar answered Nov 09 '22 07:11

Projectos na Net