前回、PHPでJavaScriptプログラムを実行することを試した。元々したかったのは、PHPで取得した位置情報をGoogle Mapにマークすることで、PHPで完結できたらいいなぁと思って調べてたら、php-google-map-apiというのがあるのを知り、試してみた。
php-google-map-apiのGoogleMap.php先頭に、キャッシュ用のデータベースを作成して(?)との記載があった。
ということで、データベースと、GoogleMap.phpに記載があった下記テーブルをつくった。
CREATE TABLE GEOCODES ( address varchar(255) NOT NULL default '', lon float default NULL, lat float default NULL, PRIMARY KEY (address) );
<?=hogehoge();?>
というのがあった。これはhogehoge()の結果を出力する意味なのね。
<?php echo 'xxx'; ?>
確認ページ:hello_php_google_map_api.php
<?php
include_once("./GoogleMap.php");
include_once("./JSMin.php");
$MAP_OBJECT = new GoogleMapAPI(); $MAP_OBJECT->_minify_js = isset($_REQUEST["min"])?FALSE:TRUE;
$MAP_OBJECT->setDSN("mysql://user:password@localhost/db_name");
$MAP_OBJECT->addMarkerByAddress("Denver, CO","Marker Title", "Marker Description");
$MAP_OBJECT->setMapType('map');
$MAP_OBJECT->setWidth('500px');
$MAP_OBJECT->setHeight('500px');
$MAP_OBJECT->setZoomLevel(15);
?>
<html>
<head>
<?=$MAP_OBJECT->getHeaderJS();?>
<?=$MAP_OBJECT->getMapJS();?>
</head>
<body>
<h1>php-google-map-api sample</h1>
<?=$MAP_OBJECT->printOnLoad();?>
<?=$MAP_OBJECT->printMap();?>
<?=$MAP_OBJECT->printSidebar();?>
</body>
</html>
実行後にphpMyAdminで確認すると、ジオコーディングで取得した経度と緯度が、データベースに格納されていた。

参考リンク
- php-google-map-api – PHP Class for Building maps using Google Maps API – Google Project Hosting
- Webデザイナーへの挑戦 php google Map api Ver3.0について
関連エントリー