Thgoogle ヘルパー


CakePHPでGoogleMAPの表示サポートをするヘルパーです。
ThgoogleヘルパーでサポートしているGoogleMAPのAPIバージョンは「v3」のみとなります。
「v3」になることでAPIキーが必要なくなったので、ここぞとばかりに作成しました(笑

ダウンロードは下記リンクよりダウンロードしてください。

Thgoogle v1.0.0

利用方法

1. コントローラーにThgoogleヘルパーを追加してください。

var $helpers = array('Html', 'Form', 'Thgoogle');

2. ビューでの基本的な記述は以下です。

googlemap();?>

「googlemap()」には引数が4つ存在します。
・第1引数ではGoogleMAPを表示するための「div」タグが自動で生成されますので、
その生成されるタグのDOMIDを半角英数の文字列で指定します。

・第2引数ではGoogleMAPの表示するためのオプションを指定します。
指定の記述例は次のようになります。
※記述されている値は初期値です。

$option=array(
		'width'=>'500',//DIVの横幅
		'height'=>'500',//DIVの高さ
		'zoom'=>'12',//マップのZOOMレベル[0-19]を指定
		'lat'=>'35.65861',//経度
		'lng'=>'139.745447',//緯度
		'marker'=>true,	//第3引数が存在しない場合に自動でマーカーを出力するかどうか
		'title'=>NULL,//マーカーのタイトル
		'type'=>'R',//GoogleMAPのタイプ タイプの指定は→[R|S|H|T]
		'scripts'=>NULL//その他追加するJavaScriptコード
);

・第3引数では出力されたGoogleMAPにマーカーを付ける場合に利用します。
また、付けるマーカーは複数可能です。
指定の方法は次のようになります。

$marker=array(
 	'marker1'=>array(//1つ目のマーカー
 		'lat'=>'',//マーカーの経度
 		'lng'=>'',//マーカーの緯度
 		'title'=>''//マーカーのタイトル
 	),
 	'marker2'=>array(//2つ目のマーカー
 		'lat'=>'',//マーカーの経度
 		'lng'=>'',//マーカーの緯度
 		'title'=>''//マーカーのタイトル
 	)
 )

・第4引数では出力されているマーカーに対して、クリックをすると
吹き出しテキスト機能を付けることができます。指定の方法は次のようになります。
※配列のキーにはマーカーのキー名を記述するように注意してください。

$infowindow=array(
 	'marker1'=>array(
 		'string'=>'',//出力文字列
 		'width'=>'',//吹き出しの横幅
 		'height'=>''//吹き出しの縦幅
 	)
)

利用方法は以上となります。
現在のところはGoogleMAPを自動で出力することと、マーカー+コメント表示のみの機能を搭載しています。

ご不明点等ありましたら、ご連絡いただけたら幸いです。

スポンサーリンク

4 Comments

  1. CakePHP1.2用で開発を行っていましたが、CakePHP1.3でも基本的に同じ記述で動作致します。
    完全には動作確認を行っていませんので、不具合がございましたら、適時対応させて頂きます。

  2. こちらのHelperはCakePHP1.2ようですか?
    1.3で使用する場合はどうすればいいでしょう?

  3. work articles

    This post was very nicely written :), and it also contains a lot of useful extra facts. I enjoyed your professional way of writing this post. Thanks, you have made it very easy for me to understand Interesing Links in Ezines Links Thanks!.

  4. […] 詳しくはこちらを参照ください 「Thgoogleヘルパー」 カテゴリー: CakePHP, Helpers タグ: CakePHP, google, map コメント (0) トラックバック (0) コメントをどうぞ トラックバックURL […]


Add a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Comment *
Name *
Email *
Website