Digitra

LINUXサーバの設定やプログラムのことなどを中心にブログを書いています。

GoogleMapApiで地名と緯度経度を相互変換する

GoogleMapのAPIで地名と緯度経度を変換するAPIがあります。

今のところこのAPIデベロッパーキーなどの指定がなくても利用できるようなので、以下のようなPHPのコードで簡単に変換することが出来ます。

 

地名から緯度経度を得る

第一引数:地名
第二引数:検索結果の地名を何語で得るか(デフォルト日本語にしています)
返り値:GoogleMapGeocodeのAPIのレスポンスを連想配列にしたもの

function getGoogleGeoCode($location, $lang="ja") {    
    $url = "http://maps.google.com/maps/api/geocode/json?sensor=false";
    $url.= "&language=".$lang;
    $url.= "&address=".urlencode($location);
    $rawdata = file_get_contents($url);
    return json_decode($rawdata,TRUE);
}

 

緯度経度から地名を得る

第一引数:緯度
第二引数:経度
返り値:GoogleMapGeocodeのAPIのレスポンスを連想配列にしたもの

function getGoogleGeoAddress($lat, $lng) {
    $url = "http://maps.google.com/maps/api/geocode/json?sensor=false";
    $url.= "&latlng=".$lat.",".$lng;
    $rawdata = file_get_contents($url);
    return json_decode($rawdata,TRUE);
}

 

file_get_contentsの関数でURLをOpen出来ないようなサーバの場合は、 cURLとかで叩いてください。 

 

developers.google.com

 

PHP: file_get_contents - Manual