php google map api如何处理json文件

时间:2016-09-02 14:41:55

标签: php google-maps geojson

我正在开发一个项目,用户选择一个项目,服务器(php)检索连接到该项目的单元格代码(以及这些单元格的地理坐标),并应创建将由以下项目使用的Json文件客户端的javascript更新地图。

我想我明白必须创建google map api用来更新地图的json文件。

那么我应该如何在服务器文件中处理这个?我的意思是,每次请求完成后我是否必须创建一个带有随机文件名的json文件,然后在将json文件返回给客户端后将其删除或者是否有任何不同且更好的方法?

2 个答案:

答案 0 :(得分:0)

你听说过Headers吗?特别是“内容类型”对你来说可能很有意思;)

答案 1 :(得分:0)

说明:

使用mysql查询传递AJAX请求并获取JSON中的响应数据。将响应数据反馈到图表功能。

简而言之,您需要获取数组值 - >转换为JSON并将这些值提供给谷歌图表,无论您是否需要mysql。根据您的要求修改代码。

客户端主要php

<script>
    drawLineChart('<?php echo strtolower($chartType); ?>');
</script>

客户端功能php

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);
    }
}

服务器端php文件

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);
}

注意

  

请根据您的需要使用地理坐标类型的图表。

示例折线图(我的数组数据)

enter image description here