この記事は1年以上前の記事のため、内容が古い可能性があります。
2012.06.30 バージョンアップしました。(version1.4b4)
2011.11.11 バージョンアップしました。(version1.4b3)
2011.08.13 バージョンアップしました。(version1.4b2)
複数版同様、個別版でも、住所から取得した座標はサーバーにキャッシュ(CSV形式)として残す仕様となりました。
スクリプトをダウンロードする
サンプルを見る
注意点
今回のバージョンではPHPも使用しております。もしPHP5.2以上が利用できないサーバをご利用の場合は、申し訳ございませんが、このバージョンは使用しないでください。
またサーバのPHPの設定(php.ini)で「allow_url_fopen」が有効になっていないと利用できませんので、こちらもご注意ください。
なお、PHPを使用するといっても、AJAXリクエストで実行させているだけなので、実際にマップを表示するページをPHP化させる必要はありません。
※作った直後でまだ十分な実験を行えていないので、このバージョンを使用する際は、よく動作をご確認の上、ご利用ください。
※現在ではv3でもAPIキーが必要となっています。
https://developers.google.com/maps?hl=ja
手順
「スクリプトの設定」と「map.js」へのパスが変わる(map.jsがgoogle_map_api_jsフォルダの中に入るため)以外は、前バージョンと同じです。
1.bodyタグに、バルーン用情報と地図出力用のタグを記述します。(以下例)
02 | < div class = "gmap_title" >< a name = "gmap_title" >井出商店</ a ></ div > |
03 | < div class = "gmap_photo" >< img src = "img/ide.jpg" width = "120" alt = "井出商店" /></ div > |
04 | < div class = "gmap_info" > |
05 | 住所:< span class = "gmap_address" >和歌山県和歌山市 田中町4-84</ span >< br /> |
10 | < div class = "clear" ></ div > |
11 | < div class = "gmap_description" > |
12 | 和歌山ラーメンの名を全国に知らしめたのがこちらの店。 |
15 | < div id = "map" style = "width:500px;height:500px;" ></ div > |
16 | < div class = "clear" ></ div > |
ここで必要なものは
- id="gmap_data":このIDを元にバルーンとマーカー用データを取得します。
- class="gmap_title"+aタグ:タイトルをクリックしたときに吹き出しを表示します。
- class="gmap_address":住所。この住所を元に座標へ変換します。
- id="map":ここにマップが表示されます。必ずwidthとheightを指定してください。
となっています。住所から座標を取得する場合は、マーカー座標=中心座標となり、ズーム値はデフォルトで設定している値(スクリプト設定参照)となります。
もちろんこれまでのバージョン同様、座標データからマーカーを表示することもできます。その場合は前バージョンと同じく「class="gmap_coord"」を含んだタグを追記してください。
02 | < div class = "gmap_title" >< a name = "gmap_title" >井出商店</ a ></ div > |
03 | < div class = "gmap_photo" >< img src = "img/ide.jpg" width = "120" alt = "井出商店" /></ div > |
04 | < div class = "gmap_info" > |
05 | 住所:和歌山県和歌山市田中町4-84< br /> |
10 | < div class = "clear" ></ div > |
11 | < div class = "gmap_description" > |
12 | 和歌山ラーメンの名を全国に知らしめたのがこちらの店。 |
14 | < div class = "gmap_coord" > |
15 | 34.2284871,135.1894984,34.23075140779955,135.19043684005737,16 |
19 | < div id = "map" style = "width:500px;height:500px;" ></ div > |
21 | < div class = "clear" ></ div > |
class="gmap_coord"の中の座標は
マーカー緯度,マーカー経度,中心座標緯度,中心座標経度,ズームレベル
または
マーカー緯度,マーカー経度,ズームレベル
または
マーカー緯度,マーカー経度
となっています。(座標についてはこちらから手動で取得できます)
中心座標を設定しない場合は、マーカーの座標が中心点となります。
ズーム値を設定しない場合は、デフォルトのズーム値が使用されます。(スクリプト設定参照)
2.以下のスクリプトをダウンロードしてください。
3.スクリプトの設定を行います。
google_map_api_js.zipをダウンロードしましたら、解凍してください。「google_map_api_js」というフォルダができます。
フォルダの中には
- get_coord.php
- map_function.php
- map.js
の3ファイルが入っています。
map.jsをプログラムが編集できるテキストエディタで開き、26行目付近の
26 | var php_path = "js/v1.4b2/google_map_api_js/get_coord.php" ; |
の部分に、「get_coord.php」までのURLパスを記述してください。
例えば、ウェブルートの「js」フォルダに「google_map_api_js」フォルダをまるごとアップロードする場合は
26 | var php_path = "http://ドメイン/js/google_map_api_js/get_coord.php" ; |
となります。
また、16~21行目付近にかけて、座標やズーム値の初期値を設定できます。(個別版の場合、特に指定がない場合はここで設定するズーム値(zoom)になるので、ご注意ください。)
16 | var mc_lat = 34.6862971; |
17 | var mc_lng = 135.5196609; |
18 | var mp_lat = 34.6862971; |
19 | var mp_lng = 135.5196609; |
以上の設定が終わりましたら、「google_map_api_js」フォルダをまるごとサーバにアップロードしてください。ただし、上記で設定した 通り、map.jsには「get_coord.php」までのパスが記述されているので、それに沿った場所にアップロードしてください。
また、「google_map_api_js」フォルダには、CSVファイルを書き出す必要があるため、パーミッションを777にするなど、書き込み権限をつけてください。
4.htmlファイルのheadタグにjqueryとmap.js、Google Map APIを読み込んでください。
1 | < meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" > |
2 | < script type = "text/javascript" src = "js/jquery.js" ></ script > |
3 | < script type = "text/javascript" src = "http://maps.google.com/maps/api/js?sensor=false" ></ script > |
4 | < script type = "text/javascript" src = "js/google_map_api_js/map.js" ></ script > |
※metaタグで文字コードをutf-8にするのを忘れずに。これがないと正常に動作しない場合があります。
※「jquery」とスクリプトファイル一式(「google_map_api_js」フォルダ)は、「js」フォルダにアップロードしたと仮定して記述しています。
5.bodyタグのonloadにて、マップ表示用関数を呼び出します。
1 | < body onload = "map_single('map','gmap_data')" > |
map_singleの引数について
- 第一引数:マップを表示するタグのID(今回はmap)
- 第二引数:バルーン情報が入っているタグのID(今回はgmap_data)
これで、マーカー・バルーン付きマップが表示できます。(マーカーをクリックするとバルーンが表示されます)
6.スタイルを整えます。以下をheadタグに記述するか、別ファイルに保存してheadタグで埋め込んでください。(スタイルシートのダウンロードはこちら)
13 | .gmap_block .gmap_title{ |
19 | .gmap_block .gmap_photo{ |
25 | .gmap_block .gmap_info{ |
29 | .gmap_block .gmap_description{ |
40 | #gmap_data .gmap_photo{ |
45 | #gmap_data .gmap_title{ |
52 | #gmap_data .gmap_description{ |
57 | #gmap_data .gmap_description{ |
サンプル [新しいウィンドウで開く]
以上です。
バグなどありましたらご連絡いただけるとありがたいです。