2009-09-24

携帯で位置情報を取るには、Cirius LabさんのGeoFormAPIがステキ

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
携帯サイトの醍醐味の一つは位置情報を取れることだと思うのですが、各会社毎に取得する手段が違うし、同じ会社でもGPSを使うものと基地情報(?)を使うものといろいろなわけです。
そんな違いを吸収してくれるのがCirius LabさんのGeoFormAPIなのです。
詳細は、以下をみてください。
http://lab.cirius.co.jp/index.php?GeoPlatformAPI%2FGeoFormAPI
これを利用すると、位置情報を取得するためのリンクを生成してくれます。
生成した情報をクリックすると位置情報を取得して、指定したurlに位置情報をつけてもどしてくれます。

pythonさんで利用するには、以下のような感じです。
利用前提はgoogle app engineなのでurlfetchを使っていますが、使わないときは適当に置き換えてください。
またdjangoを利用するのでrequestオブジェクトを受け渡しています。環境変数を取るときは違う手段を使っても良いと思います。

# -*- coding: utf-8; -*-
from urllib import urlencode
from google.appengine.api import urlfetch

def get_geo_form(request,return_uri,w='現在位置で探す'):
params = {
'ua':request.META.get('HTTP_USER_AGENT', ''),
'return_uri':return_uri,
'api_key':'APIを利用するためのAPIキーを指定します。',
'display':w,
}
url = 'http://api.cirius.co.jp/v1/geoform/xhtml?' + urlencode(params)
result = urlfetch.fetch(url)
if result.status_code != 200:
return None
return result.content


get_geo_formによって、リンクのhtmlを返すのでこれをそのまま使いたい場所に埋め込むことになります。
コメントを投稿