携帯GPS機能が扱えるPEAR::Net_UserAgent_Mobile_GPSを使ってみました

By nakayama - 08/12/19 - このエントリをはてなブックマークに追加このエントリをYahoo!ブックマークに追加このエントリをdel.icio.usに追加このエントリをFC2ブックマークに追加

GPS検索を扱う際、3キャリアでコードが違ってきますが
それを解消したpearライブラリNet_UserAgent_Mobile_GPS
まだバージョンも0.1.1と開発途中の模様ですが私の方でも試してみました。

インストール

#pear install -f Net_UserAgent_Mobile_GPS

ソースコード出力

HTMLのソースコード出力にはgetGPSLink()を使います。

require 'Net/UserAgent/Mobile/GPS.php';

try {
    $g = Net_UserAgent_Mobile_GPS::factory();
} catch (Net_UserAgent_Mobile_GPS_Exception $e) {
    var_dump($e->getMessage());
    exit();
}

$url = "http://test.com";
$str = 'GPS.TEST';
$glink = $g->getGPSLink($url, $str);

var_dump($glink);

出力結果


array(2) {
  ["url"]=>
  string(45) "device:location?url=http://test.com"
  ["tag"]=>
  string(64) "<a href="device:location?url=http://test.com">GPS.TEST</a>"
}

とこのように出力されました。

GPS対応可否までは判断出来ないようで、別途携帯機種リストの用意は必要そうです。

座標取得

リンク先で座標を受け取る際のソースは以下、getGPSResponse()で取得出来ます。

require 'Net/UserAgent/Mobile/GPS.php';

try {
    $g = Net_UserAgent_Mobile_GPS::factory();
} catch (Net_UserAgent_Mobile_GPS_Exception $e) {
    var_dump($e->getMessage());
    exit();
}
$res = $g->getGPSResponse();

var_dump($res);

出力結果

array(2) {
  ["lat"]=>
  string(13) "+34.40.39.955"
  ["lon"]=>
  string(14) "+135.30.06.976"
}

参考URL

http://pear.php.net/package/Net_UserAgent_Mobile_GPS
http://phpspot.org/blog/archives/2008/07/phpgpsnet_usera.html
http://www.mryworks.com/weblog/net_useragent_mobile_gps%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/

Posted in GPS • • Top Of Page