内容へ移動
ゼロと無限の間に
フリーでオープンソースなJavaScriptとかPHPとか。
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
ゼロと無限の間に
»
PHP道具箱
»
PHPでGoogle Static Maps APIを使うサンプル
トレース:
php-tool-box:google-maps-static-api
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== PHPでGoogle Static Maps APIを使うサンプル ====== {{http://maps.google.com/maps/api/staticmap?center=38%2C137&zoom=5&sensor=false&size=400x460&markers=color%3Ared%7Clabel%3AA%7C%E6%9C%AD%E5%B9%8C&markers=color%3Ablue%7Clabel%3AB%7C%E4%BB%99%E5%8F%B0&markers=color%3Aorange%7Clabel%3AC%7C%E6%9D%B1%E4%BA%AC&markers=color%3Agreen%7Clabel%3AD%7C%E5%90%8D%E5%8F%A4%E5%B1%8B&markers=color%3Agray%7Clabel%3AE%7C%E5%A4%A7%E9%98%AA&markers=color%3Ayellow%7Clabel%3AF%7C%E5%BA%83%E5%B3%B6&markers=color%3Apurple%7Clabel%3AG%7C%E7%A6%8F%E5%B2%A1&.png?}}\\ 地図を画像として動的に生成できるGoogle Static Maps API(名前がいつの間にか微妙に変わっている)。携帯向けの地図系サービスを作るのに便利そう。PHPでも簡単に使えた。 しかも、いつの間にかKEYが不要になっていた。太っ腹なのか、プレミアを推進するための布石なのか。:-x ===== サンプル ===== [[http://0-oo.net/sam/google-mapper/static-api.php|Google Static Maps APIをPHPで使うサンプル]] ===== ソースコード ===== <code php> <?php //@see http://code.google.com/intl/en/apis/maps/documentation/staticmaps/ $params = array( 'center' => '38,137', //マーカーや道順の表示がある場合は省略可 'zoom' => 5, //マーカーや道順の表示がある場合は省略可 //'maptype' => デフォルトはroadmap 'sensor' => 'false', ); //PC か携帯か(iPhone/AndroidはPC扱いで) $pcFlg = true; if ($pcFlg) { //PC $params['size'] = '400x460'; //$params['format'] = デフォルトはPNG } else { //携帯 $params['size'] = '240x320'; $params['format'] = 'jpg-baseline'; //プログレッシブでないJPEG $params['mobile'] = 'true'; } $qs = http_build_query($params); // マーカー(緯度経度でも可(例:'38.1,137.5')) $locations = array( '札幌', '仙台', '東京', '名古屋', '大阪', '広島', '福岡', ); //$locations = false; if ($locations) { //マーカーの色の選択肢(0xFFFFCC形式でも可) $colors = array( 'red', 'blue', 'orange', 'green', 'gray', 'yellow', 'purple', 'white', 'brown', //'black', 少し見辛い ); foreach ($locations as $i => $location) { //色はローテーションにしてみた $qs .= getMarkerParam($colors[$i % count($colors)], $i, $location); } } // 沖縄 unset($params['center']); //中心地点は指定しないと自動で設定される $params['size'] = '150x150'; $qs2 = http_build_query($params); $qs2 .= getMarkerParam('white', count($locations), '那覇'); function getMarkerParam($color, $seqNo, $location) { //ここではやってないが、同じマーカーで複数のlocationを指定することもできる $markers = array( 'color:' . $color, 'label:' . (chr(ord('A') + $seqNo)), //使えるのはA~Zと0~9 $location, ); return '&markers=' . urlencode(implode('|', $markers)); } function getUrl($qs) { $qs = htmlspecialchars($qs, ENT_QUOTES); return 'http://maps.google.com/maps/api/staticmap?' . $qs; } ?> <div style="position:relative"> <img src="<?php echo getUrl($qs) ?>" alt="地図" style="position: absolute" /> <img src="<?php echo getUrl($qs2) ?>" alt="沖縄" style="position: absolute" /> </div> </code>
php-tool-box/google-maps-static-api.txt
· 最終更新: 2010/02/14 22:31 by
dgbadmin
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ