住所から緯度・経度を取得
/**
* 住所から緯度・経度を取得
**/
function getLatLng($__address)
{
$cordinate = array();
// 住所を元に緯度経度を設定
$url = 'http://maps.google.com/maps/api/geocode/json'.'?address='.urlencode($this->address).'&sensor=false';
$result = file_get_contents($url);
$geo = json_decode($result, true);
if(isset($geo['results'][0]))
{
$cordinate['lat'] = (string)$geo['results'][0]['geometry']['location']['lat'];
$cordinate['lon'] = (string)$geo['results'][0]['geometry']['location']['lng'];
}
else
{
$cordinate = null;
}
return $cordinate;
}
/***********************************************************/
// 実行
$cordinate = getLatLng("東京タワー");
echo '緯度: '.$codinate['lat'];
echo '経度: '.$codinate['lng'];
緯度・経度から住所を取得
/**
* 緯度・経度から住所を取得
**/
function getAddress($__lat, $__lat)
{
$address = '';
// 緯度経度を元に住所を設定
$url = 'http://maps.google.com/maps/api/geocode/json'.'?latlng='.$__lat.','.$__lat.'&sensor=true';
$result = file_get_contents($url);
$geo = json_decode($result, true);
if(isset($geo['results'][0]))
{
$address = (string)$geo['results'][0]['formatted_address'];
}
else
{
$address = null;
}
return $address;
}
/***********************************************************/
// 実行
$address = getAddress(35.6585805, 139.7454329);
echo '住所: '.$address;
【formatted_address】に人が読み取れる、この場所の住所を含む文字列が帰ってくるが
ローマ字表記とか日本語になって返ってくるので注意