[25] [DFN[[[Geolocation API]]]] は、現在の[[地理]]的[[位置]]を取得するための [[API]] です。 * 仕様書 [REFS[ - [15] [CITE@en[Geolocation API Specification]] ([TIME[2011-06-28 14:23:06 +09:00]] 版) ]REFS] * [CODE(DOMi)@en[Geolocation]] [32] [CODE(DOMi)@en[[[Geolocation]]]] オブジェクトは [DFN[[CODE(JS)@en[[[navigator.geolocation]]]]]] [[属性]]で取得できます。 [31] [DFN[[CODE(DOMi)@en[[[Geolocation]]]]]] [[インターフェイス]]には次のメンバーがあります。 - [CODE(DOMm)@en[[[getCurrentPosition]]]] - [CODE(DOMm)@en[[[watchPosition]]]] - [CODE(DOMm)@en[[[clearWatch]]]] [30] [CODE(DOMi)@en[[[Geolocation]]]] * セキュリティーとプライバシー [26] 実装は、[[利用者]]の[[プライバシー]]を守るための仕組みを用意しなければなりません。 [[Geolocation API]] は[[利用者]]の許可無く[[位置情報]]を提供してはなりません。 [SRC[>>15]] [27] [[利用者]]が予め設定している場合を除き[[利用者インターフェイス]]を通じて[[利用者]]に許可を求めなければなりません。 この[[利用者インターフェイス]]は[[文書]]の [[URL]] の[[ホスト]]部分を含めなければなりません。 [SRC[>>15]] [28] [[利用者インターフェイス]]を通じて得た許可で現在の閲覧セッションを超えて ([[閲覧文脈]]が他の [[URL]] に [[navigate]] された後も) 保持されるものは、取り消せなければなりません。 [SRC[>>15]] [29] [[位置情報]]の受信者は、これが必要な時だけ要求するようにしなければなりません。 また受信者は、[[位置情報]]を取得した目的にのみこれを用いなければならず、 [[利用者]]が保持し続けることを認めた場合を除き、完了したら破棄しなければなりません。 受信者は[[位置情報]]への無許可のアクセスを認めないように対策しなければなりません。 [[位置情報]]が蓄積される場合には、[[利用者]]がこれを更新・削除できるべきです。 [[利用者]]が認めた場合を除き、[[位置情報]]を再転送してはなりません。 再転送する場合には注意を払うべきで、暗号化することをおすすめします。 受信者は[[位置情報]]を収集していること、その目的、保存期間、安全対策、 共有する場合どう共有されるか、[[利用者]]がどうアクセス、更新、削除できるか、 その他[[利用者]]が行えることを明確に開示しなければなりません。 以上の指針に従わない場合には、その説明も開示しなければなりません。 [SRC[>>15]] * 歴史 [1] [CITE[LocationAPI - google-gears - Google Code]] ([CODE[2008-03-23 18:51:33 +09:00]] 版) [3] [CITE@en[Geolocation API Specification]] ([CODE[2008-06-06 04:50:16 +09:00]] 版) [4] [[W3C]] に [[Geolocation Working Group]] ができました。 [5] [CITE@en-us[Firefox 3.1 for developers - MDC]] ([TIME[2009-02-08 18:25:06 +09:00]] 版) >Geolocation API がサポートされました、これは Web アプリケーションがユーザの現在の位置についての情報が提供される場合にその情報を保持することを可能にします。 [6] [CITE@en[Geolocation API Specification]] ([TIME[2009-03-26 02:05:11 +09:00]] 版) [7] [CITE@en[Geolocation API Specification]] ([TIME[2009-07-07 23:53:37 +09:00]] 版) [9] [CITE[Re: Geolocation in the browser]] ([[Ian Hickson ]] 著, [TIME[2008-11-26 00:54:55 +09:00]] 版) [10] [CITE@en[Geolocation API Specification]] ([TIME[2008-12-19 01:46:59 +09:00]] 版) [13] [CITE@en[Geolocation API Specification]] ( ([TIME[2010-09-08 02:10:28 +09:00]] 版)) * メモ [8] [CITE@en[gist: 228509 - GitHub]] ([TIME[2010-08-09 08:08:45 +09:00]] 版) [11] [CITE@ja[DoCoMo、au、SoftbankのGPSで位置情報をphpで取得する方法 :: 日々是作譜]] ([TIME[2009-05-18 17:51:46 +09:00]] 版) [12] [CITE[Android の geolocation で GPS を使う方法 - 冬通りに消え行く制服ガールは、夢物語にリアルを求めない。 - subtech]] ([TIME[2010-04-26 12:16:10 +09:00]] 版) [14] [CITE[携帯電話と位置情報 : 現在地の測位 (1) (Yahoo! JAPAN Tech Blog)]] ([TIME[2009-03-02 17:52:16 +09:00]] 版) [16] [[Firefox]] ではなぜか結果が帰ってこない (どちらの callback も呼ばれない) ことがよくあります。 [CODE(DOMm)@en[[[watchPosition]]]] よりも [CODE(DOMm)@en[[[getCurrentPosition]]]] の方がましな印象があります。 エラーが返ってくるときも再試行したらちゃんと結果が返ってきたりしそう。 [17] [CITE@en[W3C Geolocation API in IE9 - IEBlog - Site Home - MSDN Blogs]] ([TIME[2011-10-12 21:45:11 +09:00]] 版) [18] [CITE@en[Geolocation API Specification Level 2]] ( ([TIME[2011-12-01 05:18:39 +09:00]] 版)) [19] [CITE@en[Geolocation API Specification]] ( ([TIME[2012-05-09 23:32:03 +09:00]] 版)) [20] ( ([TIME[2013-11-13 01:50:27 +09:00]] 版)) [21] [CITE@en[Enhanced Geolocation]] ( ([TIME[2013-11-12 00:06:17 +09:00]] 版)) [22] [CITE@en[Enhanced Geolocation]] ( ([TIME[2013-11-12 00:06:17 +09:00]] 版)) [23] [CITE@en[Geolocation API Specification]] ( ([TIME[2013-10-22 23:10:42 +09:00]] 版)) [24] [CITE@en[Geolocation API Specification Level 2]] ( ([TIME[2011-11-02 11:46:03 +09:00]] 版))