当我包含PHP代码时,Geochart无法正常工作。
下面是添加PHP之前的代码,可以正常工作:
google.load('visualization','1', {
'packages':['geochart'],
});
google.setOnLoadCallback(drawVisualization);
function drawVisualization() {var data = new google.visualization.DataTable();
data.addColumn('number', 'LATITUDE');
data.addColumn('number', 'LONGITUDE');
data.addColumn('string', 'DESCRIPTION');
data.addColumn('number', 'A:', 'value');
data.addColumn({type:'string', role:'tooltip'});
data.addRows([[3.9374,102.3620, 'Jerantut', 0,'tooltip']]); //jerantut,phg
data.addRows([[ 4.7549,103.4156, 'Kuala Dungun', 1,'tooltip']]); //terengganu
var options = {
region: 'MY', // Africa
displayMode: 'markers',
resolution: 'provinces',
colorAxis: {minValue: 0, maxValue: 0, colors: ['#6699CC']},
sizeAxis: {minValue: 1, maxValue:1,minSize:10, maxSize: 25},
legend: 'none',
enableRegionInteractivity: 'true',
backgroundColor: '#ffffff',
datalessRegionColor: '#D2F5F4',
defaultColor: '#f5f5f5',
};
var chart = new google.visualization.GeoChart(document.getElementById('visualization'));
下面是添加PHP代码后的代码:
function drawVisualization() {var data = new google.visualization.DataTable(
data.addColumn('number', 'LATITUDE');
data.addColumn('number', 'LONGITUDE');
data.addColumn('string', 'DESCRIPTION');
data.addColumn('number', 'A:', 'value');
$exec = mysqli_query($con,$query);
while(echo json_encode( $row );){
data.addRows([['city_lat', 'city_long', 'student_city', 'count']]);
};
请让我知道添加PHP代码后出了什么问题以及如何解决。谢谢您的时间。
猜想我会说你可以这样做,但是我要强调一点,我无法测试。
function drawVisualization() {
var data = new google.visualization.DataTable(
data.addColumn('number', 'LATITUDE');
data.addColumn('number', 'LONGITUDE');
data.addColumn('string', 'DESCRIPTION');
data.addColumn('number', 'A:', 'value');
<?php
/*
Iterate through the recordset
and add a new row to the datatable
for each result.
*/
$res = mysqli_query($con,$query);
while( $rs=$res->fetch_object() ){
printf(
'data.addRow[ %s, %s, %s, %d ]',
floatval( $rs->city_lat ),
floatval( $rs->city_long ),
$rs->student_city,
intval( $rs->count )
);
}
?>
var chart = new google.visualization.GeoChart(document.getElementById('visualization'));
var options = {
region: 'MY', // Africa
displayMode: 'markers',
resolution: 'provinces',
colorAxis: {minValue: 0, maxValue: 0, colors: ['#6699CC']},
sizeAxis: {minValue: 1, maxValue:1,minSize:10, maxSize: 25},
legend: 'none',
enableRegionInteractivity: 'true',
backgroundColor: '#ffffff',
datalessRegionColor: '#D2F5F4',
defaultColor: '#f5f5f5',
};
chart.draw( data, options );
}