我正在开发一个项目,用户选择一个项目,服务器(php)检索连接到该项目的单元格代码(以及这些单元格的地理坐标),并应创建将由以下项目使用的Json文件客户端的javascript更新地图。
我想我明白必须创建google map api用来更新地图的json文件。
那么我应该如何在服务器文件中处理这个?我的意思是,每次请求完成后我是否必须创建一个带有随机文件名的json文件,然后在将json文件返回给客户端后将其删除或者是否有任何不同且更好的方法?
答案 0 :(得分:0)
你听说过Headers吗?特别是“内容类型”对你来说可能很有意思;)
答案 1 :(得分:0)
使用mysql查询传递AJAX请求并获取JSON中的响应数据。将响应数据反馈到图表功能。
简而言之,您需要获取数组值 - >转换为JSON并将这些值提供给谷歌图表,无论您是否需要mysql。根据您的要求修改代码。
<script>
drawLineChart('<?php echo strtolower($chartType); ?>');
</script>
function drawLineChart(chartType, chartTitle) {
google.charts.setOnLoadCallback(lineChartData);
function lineChartData() {
var lineChartJsonData = $.ajax({
type: 'GET',
url: "<?php echo $server_script_path; ?>",
data: { id1: chartType, id2: "Chart" },
dataType:"json",
async: false,
beforeSend: function() {
},
success: function(data) {
},
}).responseText;
var options;
options = {
title: chartTitle,
width: '390',
height: '300',
vAxis: {title: '<title>'},
};
var data = new google.visualization.arrayToDataTable(($.parseJSON(lineChartJsonData)));
var chart = new google.visualization.LineChart(document.getElementById(chartType));
chart.draw(data, options);
}
}
if ($_GET['id1'] != "" && $_GET['id2'] == "Chart") {
// Chart type
$chartType = explode('-', $_GET['id1'])[1];
$sql = "<mysql query>";
$result = mysqli_query($conn, $sql);
$table = array();
$rows = array();
$rows[] = array('<column1>', '<column2>');
while($row = mysqli_fetch_array($result)) {
$rows[] = array('<rows>', '<rows>');
}
$table = $rows;
echo json_encode($table);
}
请根据您的需要使用地理坐标类型的图表。