2016-09-02 7 views
0

私は、ユーザーが項目を選択し、サーバー(php)がその項目に接続されているセルコード(およびこれらのセルの地理座標)を取得するプロジェクトを進めています。クライアント側のjavascriptがマップを更新するために使用するJsonファイルを作成します。php google map api jsonファイルの処理方法

Googleマップapiがマップを更新するために使用するjsonファイルを作成することが必須であると私は思っています。

これをサーバーファイルでどのように処理する必要がありますか?つまり、リクエストが完了するたびにランダムなファイル名でjsonファイルを作成しなければならないのですか?jsonファイルをクライアントに返すと、それを削除するか、または別のより良いアプローチがありますか?

答えて

0

あなたはヘッダーについて聞いたことがありますか?特に、「コンテンツ・タイプは、」あなたのための興味深いかもしれ;)

+0

あなたは私が参照できる任意の有用なリンクを持っていますか? –

0

説明:

パスAJAX要求とmysqlのクエリを使用してJSONのレスポンスデータを取得します。チャート機能への応答データを入力します。

要するに、配列の値を取得してJSONに変換し、mysqlが必要かどうかにかかわらず、それらの値をGoogleのグラフに渡す必要があります。要件に応じてコードを変更します。

クライアント側メイン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

+0

これは意味があります。 GeoJson変数をビルドしてクライアントに送り返しました。これは正しいGeoJson変数ですが、mehtodのmap.data.loadGeoJsonはファイルを探します。 geojsonのような変数を使用してGoogleマップのデータを更新できる他の方法はありますか? –

関連する問題