Google Geocoding API を使って住所から緯度経度を求めます。(めちゃめちゃ簡単です)
Windows 環境ですので文字コードは SJIS です。API呼び出し時に UTF-8 に変換しています。
APIのレザルトは JSON で受け取って配列にデコードしています。
このレザルトには住所などの情報も含まれていますが JSON ですので Windows で使用する場合は SJIS への変換が必要となります。
<?php
//================================================
// 住所 → 緯度/経度変換
//================================================
function strAddrToLatLng( $strAddr )
{
$strRes = file_get_contents(
'http://maps.google.com/maps/api/geocode/json'
. '?address=' . urlencode( mb_convert_encoding( $strAddr, 'UTF-8' ) )
. '&sensor=false'
);
$aryGeo = json_decode( $strRes, TRUE );
if ( !isset( $aryGeo['results'][0] ) )
return '';
$strLat = (string)$aryGeo['results'][0]['geometry']['location']['lat'];
$strLng = (string)$aryGeo['results'][0]['geometry']['location']['lng'];
return $strLat . ',' . $strLng;
}
//================================================
echo strAddrToLatLng( '東京都青梅市' );
?>
実行結果
35.7879958,139.2758298
詳しい情報は Google Geocoding API サービス をご覧ください。
2011年7月14日木曜日
Google Static Maps API
携帯などで使う Java Script を使わない地図表示 API です。通常の Google Maps API に比べるととても手軽に使えます。
簡単に説明します。
URL: http://maps.google.co.jp/maps/api/staticmap
パラメーター
center カンマ区切り緯度経度または住所を示す文字列(UTF-8 & URL-encode)
zoom ズームレベル(0 ~ 21)
size(必須) 画像のサイズです。書式は [x]x[y] (例: 640x480)最大 640x640
format 画像のフォーマット
png8 または png(デフォルト): 8 ビットの PNG 形式
png32: 32 ビットの PNG 形式
gif: GIF 形式
jpg: JPEG 圧縮形式
jpg-baseline: 非プログレッシブの JPEG 圧縮形式
maptype 作成する地図のタイプ
roadmap:(デフォルト)Google マップ ウェブサイトで通常表示される標準の道路地図画像
satellite: 航空写真です。
terrain: 物理的な地形図画像
hybrid: 航空写真と道路地図を組み合わせたもの
mobile 地図を携帯端末で表示するかどうかを指定 (true or false)
language マップ タイルのラベルを表示する言語
markers マーカー
sensor(必須)アプリケーションがユーザーの位置情報を取得するのにセンサーを用いているか (true or false)
マーカー
マーカーはパラメーターを|で区切って記述
markers=markerStyles|markerLocation1|markerLocation2|...
マーカースタイル
size: マーカーのサイズを {tiny, mid, small} の中から指定
color: 24 ビット カラー(color=0xFFFFCC など)、または {black, brown, green, purple, yellow, blue, gray, orange, red, white}
label: {A~Z、0~-9} のセットから大文字の英数字を 1 文字
icon: マーカーのカスタム アイコンとして使用するための URL を指定。使用できる画像形式は PNG、JPEG、GIF(PNG推奨)
shadow:(デフォルトは true)画像に影を付けるかどうかを指定
例: <img src="http://maps.google.co.jp/maps/api/staticmap?center=東京都青梅市&zoom=18&size=640x400&maptype=roadmap&sensor=false&markers=color:red|label:A|東京都青梅市" />
簡単に説明します。
URL: http://maps.google.co.jp/maps/api/staticmap
パラメーター
center カンマ区切り緯度経度または住所を示す文字列(UTF-8 & URL-encode)
zoom ズームレベル(0 ~ 21)
size(必須) 画像のサイズです。書式は [x]x[y] (例: 640x480)最大 640x640
format 画像のフォーマット
png8 または png(デフォルト): 8 ビットの PNG 形式
png32: 32 ビットの PNG 形式
gif: GIF 形式
jpg: JPEG 圧縮形式
jpg-baseline: 非プログレッシブの JPEG 圧縮形式
maptype 作成する地図のタイプ
roadmap:(デフォルト)Google マップ ウェブサイトで通常表示される標準の道路地図画像
satellite: 航空写真です。
terrain: 物理的な地形図画像
hybrid: 航空写真と道路地図を組み合わせたもの
mobile 地図を携帯端末で表示するかどうかを指定 (true or false)
language マップ タイルのラベルを表示する言語
markers マーカー
sensor(必須)アプリケーションがユーザーの位置情報を取得するのにセンサーを用いているか (true or false)
マーカー
マーカーはパラメーターを|で区切って記述
markers=markerStyles|markerLocation1|markerLocation2|...
マーカースタイル
size: マーカーのサイズを {tiny, mid, small} の中から指定
color: 24 ビット カラー(color=0xFFFFCC など)、または {black, brown, green, purple, yellow, blue, gray, orange, red, white}
label: {A~Z、0~-9} のセットから大文字の英数字を 1 文字
icon: マーカーのカスタム アイコンとして使用するための URL を指定。使用できる画像形式は PNG、JPEG、GIF(PNG推奨)
shadow:(デフォルトは true)画像に影を付けるかどうかを指定
登録:
投稿 (Atom)