スポンサードリンク

ClusterMarker サンプル用JSONファイルをMySQL+phpから作成してみる

Google Maps APIプロジェクトのClusterMarker サンプルがJSONファイルなるものを使っていた。

いままではXMLファイルにマーカー表示用の情報を直接書き込む方法、それからMySQLデータベースからphpでXMLファイルを生成させる方法を勉強したが、今回のJSONとういうファイルを作成してみる。

さて、JSONとは?

JSONはXMLと違ってマークアップ言語ではないらしい。JSONの記述ルールは次のようなもの・・・・・

  • true,false,null等は小文字とする
  • 数値は、10進法のみ
  • 指数表記はできる。
  • 配列はコンマで区切り、[  ]でくくる。例・・・[“eat”, “run”, “skip”]
  • オブジェクトは、コンマで区切り{        }でくくる。例・・・・{“name”: “ooedo onsen”, “post”: 185}

◆さて、MySQLからJOSNファイルを生成させてみよう

1)データベースがどうなっているかというと

2)上記MySQLのデータをJOSNにするには、mysql2json.class.phpというファイルが必要。

  • まずmysql2json.class.phpをダウンロードして自分のPCに保存(ダウンロード前に登録が必要)。
  • 次に、phpファイルを一つ新しくテキストエディタで作成する。記述は、次の通り。朱書き部を変更方。MySQLデータべースへの接続と、データベースに作成済みのテーブル名「KOUEN」を記載。
  • ダウンロードしたmysql2json.class.phpファイルと同じフォルダに、convertjosn.phpとでも名前をつけて保存。

「convertjosn.php」

<?php
include(“mysql2json.class.php“);
//MySQL接続
define(“DBSV”, “サーバの名前“);
define(“DBNAME”, “データベース名“);
define(“DBUSER”, “ユーザネーム“);
define(“DBPASS”, “パスワード“);
//MySQL接続
$conn = mysql_connect(DBSV, DBUSER, DBPASS) or die();
mysql_query(“SET NAMES utf8″,$conn);
mysql_select_db(DBNAME, $conn);
//SQLの発行
$num=0;
$sql = “SELECT * FROM KOUEN“;//データベースにあるテーブル名
$result = mysql_query($sql, $conn);
$num=mysql_affected_rows();
//JOSNファイル生成
$objJSON=new mysql2json();
print(trim($objJSON->getJSON($result,$num)));
?>
3)次に上記で作成した「convertjosn.php」にブラウザでアクセスしてみると・・・・・
URL:http://waox.main.jp/news/maps/googlemapsapi/example/convertjosn.php
次のように表示された。これで完成!!
{ “data”: [ { “id” : “46”, “lat” : “35.665160”, “lng” : “139.488200”, “category” : “kouen”, “name” : “東京競馬場の公園”, “linkurl” : “詳細リンク“, “explanation” : “大型遊具がたくさん 競馬場でなく子供が遊べる公園として利用しましょう。”, “area” : “”, “area2″ : “” }, { “id” : “45”, “lat” : “35.800130”, “lng” : “138.313090”, “category” : “kouen”, “name” : “白州・尾白の森名水公園(べるが)”, “linkurl” : “詳細リンク“, “explanation” : “キャンプ、温泉、アウトドアの施設有り 川遊びできます。川へ落ちる?滑り台あり。”, “area” : “”, “area2″ : “” }, { “id” : “44”, “lat” : “42.916070”, “lng” : “141.384250”, “category” : “kouen”, “name” : “国営滝野すずらん丘陵公園”, “linkurl” : “詳細リンク“, “explanation” : “巨大な国営公園。国営武蔵丘陵森林公園や国営昭和記念公園に同じ。遊び場、遊具も充実。1日じゃ遊びきれないでしょう。”, “area” : “”, “area2″ : “” }, { “id” : “43”, “lat” : “34.767230”, “lng” : “138.046450”, “category” : “k・・・・・・・・・・・・・

4)次のこのJSONファイルを、Google Maps APIで読み込んで地図に表示させてみたい。
(つづく)

スポンサードリンク

Related Posts

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">