携帯位置情報(GPS)

多くの携帯では簡易位置情報やGPSによって位置情報をサーバーに対して送信可能です。

キャリア方法取得方法備考
DoCoMo Movasubmitのnameを"navi_pos"URLパラメーターF661i,F505iGPS (詳細不明)
DoCoMo FOMAフォームやアンカーに "lcs"URLパラメーター903i以降
DoCoMo(iエリア)http://w1m.docomo.ne.jp/cp/iareaPOSTパラメータ全機種
EZweb(簡易)device:locationURLパラメーター
EZweb(GPS)device:gpsoneURLパラメーター非公式
SoftBankフォームやアンカーに "z"HTTPヘッダー
SoftBank(3GC)location:autoURLパラメーターauto,gps,cellが指定可能

DoCoMo FOMA

フォームやアンカーに "lcs" を記述することで位置情報が送信されます。以下はHTMLの例です。

<a href="http://www.utilz.jp/loc.jsp" lcs>位置送信</a>

上記によって、サーバーには以下のようなリクエストが発生します。

GET /loc.jsp?lat=%2B35.40.53.008&lon=%2B139.45.57.971&geo=WGS84&x-acc=3 

DoCoMo iエリア

フォームやアンカーのURLをhttp://w1m.docomo.ne.jp/cp/iarea にすることで位置情報が指定URLへHTTP POSTで送信されます。取得できるのはエリアコードと言われる505個のエリアに対応するコードで、精度はかなり粗くなりますが、iモード対応端末全てで利用できます。

<%
String param = java.net.URLEncoder.encode(
    "http://www.utilz.jp/loc.jsp""ISO-8859-1");

String url = "http://w1m.docomo.ne.jp/cp/iarea?" +
              "ecode=OPENAREACODE&amp;msn=OPENAREAKEY" +
              "&amp;nl=" + param;
%>
<a href="<%=url%>">位置送信</a>

詳細な情報がDoCoMoのサイトから提供されています。

EZweb(簡易)

フォームやアンカーのURLを device:location?url=URLのようにすることで指定したURLに位置情報が送信されます。以下はjspでの例です。

<%
String param = java.net.URLEncoder.encode(
    "http://www.utilz.jp/loc.jsp""ISO-8859-1");
%>
<a href="device:location?url=<%=param%>">位置送信</a>

上記によって、サーバーには以下のようなリクエストが発生します。

GET /loc.jsp?datum=tokyo&unit=dms&lat=35.40.53.0&lon=139.45.57.97 

au技術情報に記載されていますが、datumの値は常にWGS84として扱う必要があるようです。また、datumの値に "1"など、意味不明な値がセットされることを確認しています(W41K?)。その他、lat及びlonに符号が付く場合もあるようです(W21CA?)。

詳細については未確認ですので、実機にてご確認ください。

SoftBank

フォームやアンカーに "z" を記述することでHTTPヘッダーのx-jphone-geocodeに位置情報が通知されます。以下はHTMLの例です。

<a href="http://www.utilz.jp/loc.jsp" z>位置送信</a>

上記によって、loc.jspのリクエスト時にHTTPヘッダー(x-jphone-geocode)が以下のようにセットされます。

x-jphone-geocode: 354053%1A1394557%1A(住所がSJISでエンコードされたもの)

"%1A"(SUB)で区切られて lat, lon, 住所(SJISでエンコード)の形式になります。住所はドキュメントを見る限りSJISでエスケープしたものとなっていますが、正しくデコードできない場合がありました。この情報は利用しない方が良いのかも知れません。

java.net.URLDecoderを使っていたため、正しくデコードできなかっただけでした(2008/04/18)。

SoftBank(3GC)

フォームやアンカーのURLを location:auto?url=URLのようにすることで指定したURLに位置情報が送信されます。以下はHTMLでの例です。

<a href="location:auto?url=http://www.utilz.jp/loc.jsp">位置送信</a>

auto(端末の設定)、cell(簡易)、gps(GPS)が指定可能です。SoftBank 3GCでは他と異なり、リクエスト時に追加のパラメーターを指定できます。urlの後に &name=value のように指定します。原因は不明ですが、urlのパラメーター値をURLエンコードすると正しく動作しませんので注意してください。

上記によって、サーバーには以下のようなリクエストが発生します。

GET /loc.jsp?pos=N35.40.53.00E139.45.57.97&geo=wgs84&x-acr=1 

※ 上記例のURLに指定されている http://www.utilz.jp/loc.jsp は例です。実際にリクエストを受けるCGIを作成し、そのURLで置き換える必要があります。