--

--

コメント

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
管理者にだけ表示を許可する

この記事のトラックバックURL

http://welcomevac201world.blog84.fc2.com/tb.php/16-5f29f8b1

08

21

コメント

Google Mapを入れるぜ!

CakePHP1.2を使ってますが、
Google Mapを導入したので、導入方法をメモです...φ(´ι _`  )

参考にしたサイトはこちら↓

INFINITY BLUEさん
http://www.infinity-blue.jp/archives/14

Bakeryの2つの記事↓
・Adding a Google Map to your App
 http://bakery.cakephp.org/articles/view/adding-a-google-map-to-your-app

・Google Geocoder
 http://bakery.cakephp.org/articles/view/google-geocoder


まずはGoogleに登録→こちら

Googleさんに、
「うちのサイトで使用しますよ!」
という連絡を入れる。
と同時に、Google Map APIを使用するに当たって必要な
キーをもらえる。


それでは、あとはINFINITY BLUEさんのところを見ながら
準備

1.GoogleGeoからダウンロードして、app/vendorsかvendorsディレクトリへコピーします
2.GoogleMapHelperをダウンロードして、google_map.phpとファイル名を変更してapp/views/helpers ディレクトリへコピーします
上記コピーしたファイルに記述されているAPI KEYを、予め取得した Google Maps API Key(手続き)に変更します。
class GoogleGeo {
//your GoogleMaps Api Key
var $api_key = "取得したAPI KEYを記述";
class GoogleMapHelper extends Helper {
var $errors = array();
var $key = "取得したAPI KEYを記述";



次にGoogle Map APIを実装していきます。
実装

1.レイアウトテンプレート(僕は/app/views/layout/default.ctp)に、jsを追加する

 <?php
    $key = "GoogleさんからもらったKey";
    $url = "http://maps.google.com/maps?file=api&v=2&key=$key";
    echo $javascript->link($url);
 ?>



2.Google Map APIを使用するコントローラにvendorの記述
(僕の場合は、/app/vendors/googlemap/google_geo.phpにいれました)

App::import('Vendor','googlemap/google_geo');



3.コントローラにヘルパーの記述

var $helpers = array('GoogleMap');



4.コントローラに住所をジオコードに変換し、Viewへ渡す処理の記述。
ジオコード変換する際、住所は都道府県・市区町村・番地までとします。ビル建物名まで渡すと正しく変換できません。
なお住所の文字コードはUTF-8になります。

$google = new GoogleGeo($address);
$geo = $google->geo();
$this->set('latitude', $geo['latitude']);
$this->set('longitude', $geo['longitude']);



5.Viewの記述

<?php
    $points[0]['point']['latitude'] = $latitude;
    $points[0]['point']['longitude'] = $longitude;
    $points[0]['point']['title'] = '';
    $points[0]['point']['html'] = '';
    $default = array('type'=>'0','zoom'=>3,'lat'=>$latitude,'long'=>$longitude);
    echo $googleMap->map($default, $style = 'width: 100%; height: 400px;');
    echo $googleMap->addMarkers($points);
?>




これで完了!

意外に簡単でしたーv( ̄Д ̄)v
関連記事
スポンサーサイト
管理者にだけ表示を許可する

この記事のトラックバックURL

http://welcomevac201world.blog84.fc2.com/tb.php/16-5f29f8b1

ようこそ!

ブロとも申請フォーム

ブロ友申請大歓迎です!
一覧に表示されるので自動で相互リンクになります!

>> ブロ友申請はこちら <<

検索フォーム

最近のコメント

メールフォーム

名前:
メール:
件名:
本文:

FC2ブログランキング

人気ブログランキング

人気ブログランキング

ブログ村

アクセスランキング

[ジャンルランキング]
育児
621位
アクセスランキングを見る>>

[サブジャンルランキング]
パパ育児
49位
アクセスランキングを見る>>

やーんは今、

ブロとも一覧

Designed by

Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。