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/