谷歌可视化API数据表的分页不起作用

高格德夫

单击地图中的标记时,我已经在infowindow的内容中实现了google可视化表。

但是,现在我正在尝试使用以下代码为已包含在infowindow中的表添加分页。

this.draw = function() {
    this.table.draw(this.dT, {
        allowHtml: true, 
        showRowNumber: true, 
        cssClassNames: cssClass,
        page : 'enable',
        pageSize : 4,
        pagingSymbols: {
            prev: 'Previous',
            next: 'Next'
        }
    });
}

分页符号显示在表格中,但是每单击一次,分页均不起作用。

我不知道这是一个错误还是这是maps api v3支持的唯一功能。

更新 :

<html>
<head>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('visualization', '1', {packages: ['table']});
</script>
<script type="text/javascript">
var cssClass = {rowNumberCell: 'rowNumberCellClass'};

function drawVisualization() {
  var data = new google.visualization.DataTable();
  data.addColumn('string', 'Name');
  data.addColumn('string', 'Place');
  data.addRows(4);
  data.setCell(0, 0, 'John');
  data.setCell(1, 0, 'Sam');
  data.setCell(2, 0, 'Andreson');
  data.setCell(3, 0, 'Cody');

  data.setCell(0, 1, 'Stockholm');
  data.setCell(1, 1, 'Dubai');   
  data.setCell(2, 1, 'India');
  data.setCell(3, 1, 'Australia');

  visualization = new google.visualization.Table(document.getElementById('tableContainer'));

  visualization.draw(data, {
    allowHtml: true, 
    showRowNumber: true, 
    cssClassNames: cssClass,
    page : 'enable',
    pageSize : 2,
    pagingSymbols: {
    prev: 'Previous',
    next: 'Next'
},

});

 }  
 google.setOnLoadCallback(drawVisualization);
</script>
</head>
<body>
<div id="tableContainer"></div>
</body>
</html>
莫勒博士

目前尚不清楚您如何组合地图和表格,对我而言,将它们组合起来没有问题。

我看到的唯一问题是您在第一个代码段中使用了pageSize : 4,但是当您尝试使用与第二个代码段中所示的相同数据进行操作时,分页按钮没有任何作用(表中只有4行)

但是,有一个可行的示例(添加了一些基于标记位置的过滤,也许这是您的最终目标)

google.load('visualization', '1', {packages: ['table']});
google.load('maps', '3', {callback: function(){
  
  var cssClass = {rowNumberCell: 'rowNumberCellClass'},
      places= {
                Stockholm:  new google.maps.LatLng( 59.329, 18.068),
                India:      new google.maps.LatLng( 20.593, 78.962),
                Dubai:      new google.maps.LatLng( 25.204, 55.270),
                Australia:  new google.maps.LatLng(-25.274, 133.775)                
              };

  function drawVisualization(node,place) {
    //initialize data and chart 
    if(!node.chart){
      node.chart = {
                     table: new google.visualization.Table(node),
                     data:  new google.visualization.DataTable(),
                     options:{
                              allowHtml:      true, 
                              showRowNumber:  true, 
                              cssClassNames:  cssClass,
                              page:           'enable',
                              pageSize:       1,
                              pagingSymbols: {
                                                prev: 'Previous',
                                                next: 'Next'
                                             }
                            }
                    };
      node.chart.data.addColumn('string', 'Name');
      node.chart.data.addColumn('string', 'Place');
      node.chart.data.addRows([
                                ['Bart'       ,'Stockholm'],
                                ['Marge'      ,'Stockholm'],
                                ['Homer'      ,'Stockholm'],
                                ['John-Boy'   ,'Dubai'],
                                ['Jim-Bob'    ,'Dubai'],
                                ['Jason'      ,'Dubai'],
                                ['Charlie'    ,'India'],
                                ['Alan'       ,'India'],
                                ['Rose'       ,'India'],
                                ['Sheldon'    ,'Australia'],                                
                                ['Penny'      ,'Australia'],                                
                                ['Howard'     ,'Australia']
                              ]);
      node.chart.view = new google.visualization.DataView(node.chart.data);
    }
    
    //draw table
    if(place){//filter the rows when place-argument has been provided 
      node.chart.view.setRows(node.chart.data.getFilteredRows([{column: 1, 
                                                                value: place}]));
      node.chart.table.draw(node.chart.view, node.chart.options);
    }
    else{
      node.chart.table.draw(node.chart.data, node.chart.options);
    }
  }    
  
  var map     = new google.maps.Map(document.getElementById('map-canvas'),
                                    {zoom:1,center:{lat:0,lng:0}})
      //the node where the table will be drawn
      table   = document.createElement('div'),
      //infowindow
      infowin = new google.maps.InfoWindow({content:table});
      table.setAttribute('id','tableContainer');
  
      
  google.maps.event.addListener(infowin,'domready',function(){
    drawVisualization(this.getContent(),this.get('placename'));
  });
  
  //create some markers
  for(var k in places){
    (function(place,latlng){
      var marker  = new google.maps.Marker({map:map,
                                            position:latlng,
                                            placename:place});
      
      google.maps.event.addListener(marker,'click',function(){
        infowin.set('placename',this.get('placename'));
        infowin.open(map,marker);
      });
    }(k,places[k]));
  }
}});
html,
body,
#map-canvas {
  height: 100%;
  margin: 0;
  padding: 0;
}
<div id="map-canvas"></div>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Primefaces数据表上分页不起作用

来自分类Dev

jQuery数据表分页不起作用

来自分类Dev

Google可视化数据表filterRows

来自分类Dev

Google可视化数据表-getFilteredRows方法

来自分类Dev

Google可视化数据表filterRows

来自分类Dev

谷歌可视化表格图表点击并返回行/列值在 Mozilla 浏览器中不起作用

来自分类Dev

Google可视化的zoomLevel参数不起作用

来自分类Dev

kibana 可视化范围查询不起作用

来自分类Dev

检查的计数器在jQuery数据表分页中不起作用

来自分类Dev

jQuery数据表服务器端分页不起作用

来自分类Dev

排序,分页,搜索jQuery数据表搜索端处理不起作用

来自分类Dev

闪亮的数据表分页在闪亮仪表板中不起作用

来自分类Dev

检查的计数器在jQuery数据表分页中不起作用

来自分类Dev

删除分页后,数据表中的FixedHead不起作用

来自分类Dev

angular2-数据表服务器分页不起作用

来自分类Dev

类星体框架数据表 laravel 服务器分页不起作用

来自分类Dev

数据表分配不起作用

来自分类Dev

数据表样式不起作用

来自分类Dev

PrimeFaces数据表不起作用

来自分类Dev

数据表不起作用

来自分类Dev

数据表不起作用

来自分类Dev

PrimeFaces数据表不起作用

来自分类Dev

数据表分配不起作用

来自分类Dev

数据表绘制不起作用

来自分类Dev

数据表插件不起作用

来自分类Dev

数据表 ajax 不起作用

来自分类Dev

显示数据表不起作用

来自分类Dev

Google可视化数据表:DateFormatter无法正常工作

来自分类Dev

谷歌可视化API-隐藏图形中的数据列