geocode APIでのサンプルPHP

Laravel

PHPのコードは次の通り。

<?php

mb_language("Japanese");//文字コードの設定
mb_internal_encoding("UTF-8");

//住所を入れて緯度経度を求める。
$address = $argv[1];
$myKey = "Googleから取得したAPIキー";

$address = urlencode($address);

$url = "https://maps.googleapis.com/maps/api/geocode/json?address=" . $address . "+CA&key=" . $myKey ;

$contents= file_get_contents($url);
$jsonData = json_decode($contents,true);

$lat = $jsonData["results"][0]["geometry"]["location"]["lat"];
$lng = $jsonData["results"][0]["geometry"]["location"]["lng"];
print("lat=$lat\n");
print("lng=$lng\n");

こんな感じで使います。

特に説明するところも無いんですが一応説明すると
引数で受け取った住所(建物名とかでもGoogleで検索できるものならオッケー)とAPIキーを入れたURLアドレスを作ります。$addressは日本語名(全角文字)だとURLにならないのでurlencodeでエンコードしています。
受け取ったデータはjson_decodeで配列に入れてます。

$lat = $jsonData["results"][0]["geometry"]["location"]["lat"];
$lng = $jsonData["results"][0]["geometry"]["location"]["lng"];

これで緯度経度を取得して表示して終わり!

ローカルのPHPから実行できるのでローカルにあるデータベースでなんかやりたい時には使えるかな、というかそういうことをしたいなと。

コメント

タイトルとURLをコピーしました