何気にGoogleMapsAPI使うの初めてだったりする。
今回「グルーポンなう」作るときに使いました。
単純にAPI叩いてるだけなのでメモ程度に。
前回の記事 【CakePHP】位置情報の取得と、2点間の距離計算のコンポーネントに追加すると便利かも。
というわけで、
位置情報をサービスに使うとおもしろいね。
今後もいろいろ作っていければいいなー。
今回「グルーポンなう」作るときに使いました。
単純にAPI叩いてるだけなのでメモ程度に。
前回の記事 【CakePHP】位置情報の取得と、2点間の距離計算のコンポーネントに追加すると便利かも。
というわけで、
App/controllers/components/geo.php
class GeoComponent extends Object {
public function addr2geo($addr=""){
$url = sprintf("http://maps.google.co.jp/maps/geo?q=%s&output=json&key=%s",
urlencode($addr),
'GoogleMapsAPIKEY');
$res = file_get_contents($url);
$data = json_decode($res);
$geo = $data->Placemark[0]->Point->coordinates;
return array('lng' => $geo[0], 'lat' => $geo[1]);
}
}
あ、データ取得できなかった時とかの処理は別途書いてね。。App/controllers/foo_controller.php
class FooController extends Controller {
var $name = 'Foo';
var $components = array('Geo');
function index () {
$addr = '東京都新宿区新宿三丁目38-1';
$geo = $this->Geo->addr2geo($addr);
echo $geo['lat']; //緯度
echo $geo['lng']; //経度
}
}
位置情報をサービスに使うとおもしろいね。
今後もいろいろ作っていければいいなー。
