前回、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について
関連エントリー