phpでGoogle Mapsをカンタンに使う – GoogleMapAPI

GoogleMapAPI (phpinsider.com)
にて、PHPからGoogle Mapsをカンタンに使うことのできるライブラリが公開されています

サンプルを見ると

require(’GoogleMapAPI.class.php’);
$map = new GoogleMapAPI();
// setup database for geocode caching
$map->setDSN(’mysql://USER:PASS@localhost/GEOCODES’);
// enter YOUR Google Map Key
$map->setAPIKey(’YOURGOOGLEMAPKEY’);

と、コメント除いた4行で準備は完了。
requireとnewはいわずもがな。
setDSN()は、住所から座標への変換結果をキャッシュする機能のために、PEAR::DBのDSNを使用してデータベースを指定。
setAPIKey()はもちろんGoogleMapsのAPIキーを指定します。

地図にマーカーをうつには

// create some map markers
$map->addMarkerByAddress(’621 N 48th St # 6 Lincoln NE 68502′,’PJ Pizza’,'<b>PJ Pizza</b>’);
$map->addMarkerByAddress(’826 P St Lincoln NE 68502′,’Old Chicago’,'<b>Old Chicago</b>’);
$map->addMarkerByAddress(’3457 Holdrege St Lincoln NE 68502′,”Valentino’s”,”<b>Valentino’s</b>”);

と、メソッドaddMakerByAddress($address,$title,$html)でカンタンにマーカーを作成することができますな。
この住所から座標への変換にはYahooのgeocode APIを使っているそうです。
で、この住所から座標への変換結果を、さっき指定したデータベースにキャッシュしてくれるってわけです。
キャッシュ用のデータベースには

CREATE TABLE GEOCODES (
address varchar(255) NOT NULL default ”,
lon float default NULL,
lat float default NULL,
PRIMARY KEY (address)
);

ってな具合のテーブルを用意しておけとのこと。

HTML側では、
head内で$map->printHeaderJS();と$map->printMapJS();を出力
bodyのonload属性に”onLoad()”を指定
$map->printMap()で地図本体を表示
$map->printSidebar()でサイドバーとしてマーカー群のリンクを表示
となってます。

テンプレートシステムに対応するために、上記のメソッドのprintの部分がgetになった、文字列を返すメソッドも用意されていますね。
Smartyを使用した例もドキュメントに含まれてます。

JavaScriptをごちゃごちゃ書くのがめんどくさくて敬遠してた人が多い気がするGoogle Maps APIですが、これでphperへの敷居がぐぐっと低くなったんじゃないでしょうか?

関連記事

3個のコメント

  1. ダニー
    2005 年 11 月 28 日 6:09 PM に投稿 | パーマリンク

    phper — phpする人という名の和製英語? Wikiにものってないので登録しとく?(w

  2. 2005 年 11 月 28 日 6:31 PM に投稿 | パーマリンク

    phperと書いて”ぺちぱー”と読む模様
    phpperと書いたりもするが、その場合”ぺっちぱー”と読んだりする気がする

  3. 匿名
    2007 年 7 月 24 日 4:04 PM に投稿 | パーマリンク

    中国でやるにはどうすれば?

10個のトラックバック

  1. HotPHPPER News さんからのコメント 2005 年 11 月 28 日, 6:39 PM

    PHPでGoogle Mapsを使う方法

    ほそいりょすけのほめぱげにてGoogleMapAPIを利用できるライブラリの紹介があります。
    最低限で言うと下記の規模でGoogleMapAPIを扱う準備ができるようです。

    require(’GoogleMapAPI.class.php’);
    $m

  2. ネタ蔵ブログ さんからのコメント 2005 年 12 月 14 日, 11:51 PM

    Google Mapをくっつけたくなってきた

    「りょすけのほめぱげ」で紹介されている。。。

    phpでGoogle Mapsをカンタンに使う – GoogleMapAPI

    を見てたら、がぜん「国内地域」や「国際」カテゴリにある都市キーワードのページにGoogle Mapをくっつけ…

  3. 開発日誌 さんからのコメント 2006 年 1 月 25 日, 7:19 AM

    Google Maps API

    ネット上で地図をマウスで動かせるGoogle ローカルは、なんでも誰でも使えるらしい。申込み過多でごたごたしたGoogle Analyticsといい、大した太っ腹ぶりです。

  4. OverRide さんからのコメント 2006 年 2 月 18 日, 5:59 PM

    『マッシュアップって美味いの?』の巻

    最近、マッシュアップという言葉をよく聞くのでインターネットを紐解いてみました。

    【英】MashUp
    マッシュアップとは、IT用語としては、複数の異なる提供元の技術やコンテンツを複合…

  5. Shoulder.jp さんからのコメント 2006 年 4 月 13 日, 4:16 AM

    GoogleMapsAPI が気になる

    AmazonのECSを利用していたら、やっぱりGoogleMapsAPIも気にな…

  6. PHPのテクメモ さんからのコメント 2006 年 6 月 24 日, 8:47 AM

    phpからgoogle maps

    google mapsをphpから操作するためのAPIが公開されているそうな。
    詳しくはこちら。
    なかなかすばらしい。住所から経緯度に変換もできるとのこと。しかし日本語はまずそうだな。
    JavaScriptを書くのは確かに面倒なので、これでやってしまいたい。早速使うことにしよう。

  7. GochaBookMarkClips さんからのコメント 2006 年 10 月 1 日, 7:36 PM

    Re: phpでGoogle Mapsをカンタンに使う – GoogleMapAPI – ほそいりょすけのほめぱげ

    phpでGoogle Mapsをカンタンに使う – GoogleMapAPI – ほそいりょすけのほめぱげ決して簡単ではない。 PHPスクリプトの使用説明。

  8. なんしか、きままに。 さんからのコメント 2006 年 11 月 17 日, 6:13 AM

    phpでGoogle Map APIを。

    phpでGoogle Mapsをカンタンに使う – GoogleMapAPI – ほそいりょすけのほめぱげ
    ヤバい。 これマジヤバい。PHPでGoogle Mapが扱えるなんてめっちゃスゴい!
    JavaScriptってなんか嫌いなんですよね。な…

  9. NetcomBB PukiWiki Plus! (PukiWiki/TrackBack 0.3) さんからのコメント 2006 年 11 月 28 日, 10:35 PM

    伴メモ/Memo/PHP

    PHP API phpでGoogle Mapsをカンタンに使う – GoogleMapAPI – ほそいりょすけのほめぱげ http://www.ryo.com/ryo/2005/11/28/147/

  10. j4f::logs さんからのコメント 2007 年 1 月 21 日, 7:08 AM

    phpでGoogleMapAPIをカ(ry

    phpでGoogle Mapsをカンタンに使う via ほそいりょすけのほめぱげ
    で初めて知ったPHPでGoogleMapAPIをカンタンに使う事が出来るGoogleMapAPI.class.phpですが、以前見たときはGoogleMapAPIのv2に対応してお…