ãæ³¨æã ãã®ããã¥ã¡ã³ãã¯ãW3Cã®Geolocation API Specification 2nd Edition W3C Recommendation 8 November 2016ã®å訳ã§ãã
ãã®ããã¥ã¡ã³ãã®æ£å¼çã¯W3Cã®ãµã¤ãä¸ã«ããè±èªçã§ããããã®ããã¥ã¡ã³ãã«ã¯ç¿»è¨³ã«èµ·å ãã誤ãããããã¾ãã誤訳ã誤æ¤ãªã©ã®ãææã¯ã訳è
ã¾ã§ãé¡ãè´ãã¾ãã
First Update: 2016å¹´11æ14æ¥
è¦ç´ãã®ä»æ§ã¯ããã¹ãã£ã³ã°ã»ããã¤ã¹ã«é¢é£ä»ããããå°ççãªä½ç½®æ å ±ã¸ã®ã¹ã¯ãªããã«ããã¢ã¯ã»ã¹ãæä¾ããAPIãå®ç¾©ãã¦ãã¾ãã
ãã®ããã¥ã¡ã³ãã®ã¹ãã¼ã¿ã¹ç¾è¡ã®W3Cã®åè¡ç©ããã³ãã®æè¡å ±åã®ææ°ã®æ¹è¨çã®ãªã¹ãã¯https://www.w3.org/TR/ã®W3Cæè¡å ±åã¤ã³ããã¯ã¹ã«ããã¾ãã
ãã®ããã¥ã¡ã³ãã¯ã2013å¹´ã®ã¸ãªãã±ã¼ã·ã§ã³APIå§åãç·¨éãããã¼ã¸ã§ã³ã§ããããã¹ã¦ã®èª¤ããä¿®æ£ããã¨ãã2013å¹´ã®å§åã«å¯¾ãã¦è¡ããã夿´ãå«ã¾ãã¦ãã¾ãããã®ããã¥ã¡ã³ãã®åã®å§åã¨ã®å·®åãè¨ãããã¼ã¸ã§ã³ãæ¯è¼ã®ããã«å©ç¨ã§ãã¾ããæ£èª¤è¡¨ã«ã¾ã è¨é²ããã¦ããªãä¸ç¢ºããªã³ã³ããã¹ãã«é¢ããæªè§£æ±ºã®åé¡ããããã¨ã«æ³¨æãã¦ãã ããã
ãã®ããã¥ã¡ã³ãã¯ãã¸ãªãã±ã¼ã·ã§ã³ã»ã¯ã¼ãã³ã°ã°ã«ã¼ãã«ãã£ã¦å§åã¨ãã¦å ¬éããã¾ããããã®ããã¥ã¡ã³ãã«é¢ãã¦ã³ã¡ã³ããè¡ãããå ´åã«ã¯ãpublic-geolocation@w3.org(è³¼èªãã¢ã¼ã«ã¤ãã説æãåç §ãã¦ãã ãã)ã«ãéããã ãããã©ã®ãããªã³ã¡ã³ãã§ãæè¿ãã¾ãã
ãã®ããã¥ã¡ã³ãã¯ãW3Cã¡ã³ãã¼ãã½ããã¦ã§ã¢éçºè ãä»ã®W3Cã°ã«ã¼ããããã³ä»ã®å©å®³é¢ä¿è ã«ããã¬ãã¥ã¼ãããW3Cå§åã¨ãã¦ç®¡çè ã®åè³ãå¾ã¾ãããããã¯ç¢ºå®æ¸ã¿ããã¥ã¡ã³ãã§ãããåèè³æã¨ãã¦ç¨ããããå¥ã®ããã¥ã¡ã³ãã§å¼ç¨ãããã¨ãã§ãã¾ããå§åã®ä½æã«ãããW3C ã®å½¹å²ã¯ã仿§ã«æ³¨æãå¼ãä»ããåºç¯å²ãªéçºãä¿é²ãããã¨ã§ããããã«ãã£ã¦ã¦ã§ãã®æ©è½æ§ããã³ç¸äºéç¨æ§ãå¢å¼·ããã¾ãã
ã°ã«ã¼ãã¯å§ååè£ã®çµäºåºæºãæºããããã¨ã示ãå®è£ å ±åæ¸ã使ãã¾ãããå°ãªãã¨ã5ã¤ã®ã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ãã®å®è£ ããããã¸ãªãã±ã¼ã·ã§ã³API仿§ã®ãã¹ã¦ã®æ©è½ã2ã¤ä»¥ä¸ã®ã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ãã§å®è£ ããã¾ãããã¾ããã¦ã§ããµã¤ãã»ãã¹ãã«é©åããã¦ã§ããµã¤ããå°ãªãã¨ã2ã¤ããã¾ããã
ãã®ããã¥ã¡ã³ãã¯ã2004å¹´2æ5æ¥ã®W3Cç¹è¨±æ¹éã®ä¸ã§æ´»åãã¦ããã°ã«ã¼ãã«ãã£ã¦ä½æããã¾ãããW3Cã¯ããã®ã°ã«ã¼ãã®ææç©ã«é¢é£ããããããç¹è¨±ã®é示ã®å ¬éãªã¹ããç¶æãããã®ãã¼ã¸ã«ã¯ç¹è¨±ã®é示ã«é¢ããæç¤ºãå«ã¾ãã¦ãã¾ããä¸å¯æ¬ ãªè«æ±æ¨©(Essential Claim(s))ãå«ãã§ããã¨æãããç¹è¨±ã«é¢ãã¦å®éã«ç¥ã£ã¦ãã人ã¯ãW3Cç¹è¨±æ¹éã®6é ã«å¾ã£ã¦æ å ±ãé示ããªããã°ãªãã¾ããã
ãã®ããã¥ã¡ã³ãã¯ã2015å¹´9æ1æ¥ã®W3Cããã»ã¹ã»ããã¥ã¡ã³ãã«ãã£ã¦ç®¡çããã¦ãã¾ãã
ç®æ¬¡ãã¹ã¦ã®é ã«ããã¦æç¤ºçã«éè¦ç¯çã¨è¨ãã¦ããã¨ããããã®ä»æ§ã®ãã¹ã¦ã®å³ãä¾ã注ã¯ãéè¦ç¯çã§ãããã®ä»ã¯ãã¹ã¦è¦ç¯çã§ãã
ãã®ããã¥ã¡ã³ãã®è¦ç¯çãªé¨åã®ãããªããã°ãªããªã(MUST)ãããã¦ã¯ãªããªã(MUST NOT)ããå¿ é ã§ããï¼è¦æ±ããã(REQUIRED)ãããã¹ãã§ããï¼ããå¿ è¦ããã(SHOULD)ãããã¹ãã§ãªãï¼ããå¿ è¦ããªã(SHOULD NOT)ããæ¨å¥¨ããã(RECOMMENDED)ãããããã¨ãã§ããï¼ãã¦ããã(MAY)ãã鏿ã§ããï¼ä»»æã§ãã(OPTIONAL)ãã¨ãããã¼ã¯ã¼ãã¯ãRFC2119ã§è¨è¿°ããã¦ããããã«è§£éãããã¹ãã§ããèªã¿ãããã®ããã«ããããã®ç¨èªããã¹ã¦å¤§æåã§è¡¨ãã¦ããã¨ã¯éãã¾ããã[RFC2119]
ã¢ã«ã´ãªãºã ã®ä¸é¨ã¨ãã¦å½ä»¤æã§è¡¨ãããè¦ä»¶(ãå é ã®ç©ºç½æåãåé¤ãããã¨ã©ã¼ãè¿ãããããã®ã¹ãããã䏿¢ããªã©)ã¯ãã¢ã«ã´ãªãºã ã®å°å ¥ã«ç¨ãããã¼ã¯ã¼ã(ãããªããã°ãªããªã(MUST)ããããã¹ãã§ããï¼ããå¿ è¦ããã(SHOULD)ããããããã¨ãã§ããï¼ãã¦ããã(MAY)ããªã©)ã®æå³ã§è§£éãã¹ãã§ãã
ã¢ã«ã´ãªãºã ãç¹å®ã®ã¹ãããã¨ãã¦è¡¨ç¾ãã¦ããé©åè¦ä»¶ã¯ãæçµçãªçµæãåçã§ããéããã©ã®ãããªæ¹æ³ã§å®è£ ãã¦ããã¾ãã¾ããã(ç¹ã«ããã®ä»æ§ã§å®ç¾©ãã¦ããã¢ã«ã´ãªãºã ã¯ãåããããããç®æãã¦ãããå¹çã®è¯ãã¯ç®æãã¦ãã¾ããã)
ã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ãã¯ããã®ã¾ã¾ã§ã¯å¶ç´ã®ãªãå ¥åã«å¯¾ããä¾ãã°ããµã¼ãã¹ã¸ã®æ»æãé²ãã ããã¡ã¢ãªã®ä¸è¶³ãç£è¦ãããããã©ãããã©ã¼ã åºæã®å¶éã«å¯¾å¦ããããããªã©ãå®è£ åºæã®å¶éã課ããã¨ãã§ãã¾ãã
ãã®ä»æ§ã¯Web IDL仿§ã®ç¨èªãç¨ãã¦ããããããã®ä»æ§ã§å®ç¾©ãã¦ããAPIãECMAScriptã§å®è£ ããå ´åã«ã¯ãWeb IDL仿§ã§å®ç¾©ããã¦ããECMAScript Bindingsã¨ä¸è´ããå½¢ã§å®è£ ããªããã°ãªãã¾ããã[WEBIDL]
2 ã¯ããã«ãã®é ã¯éè¦ç¯çã§ãã
ã¸ãªãã±ã¼ã·ã§ã³APIã¯ã緯度ã¨çµåº¦ã®ãããªãå®è£ ãæä¾ãã¦ããããã¤ã¹ã®ã¿ã«é¢é£ä»ãããã¦ããä½ç½®æ å ±ã«å¯¾ããããã¤ã¬ãã«ãªã¤ã³ã¿ã¼ãã§ã¼ã¹ãå®ç¾©ãã¾ããAPIèªä½ã¯ãåºç¤ã¨ãªãä½ç½®æ å ±ã®æ å ±æºã«ä¾åãã¾ãããä¸è¬çãªä½ç½®æ å ±ã®æ å ±æºã«ã¯ãã¦ã¼ã¶ã«ããå ¥åã«å ããGPS(Global Positioning System)ããIPã¢ãã¬ã¹ãRFIDãWiFiãBluetooth MACã¢ãã¬ã¹ãªã©ã®ãããã¯ã¼ã¯ä¿¡å·ããæ¨æ¸¬ãããä½ç½®æ å ±ãGSM/CDMAã»ã«IDãªã©ãããã¾ããAPIãããã¤ã¹ã®å®éã®ä½ç½®ãè¿ãä¿è¨¼ã¯ããã¾ããã
ãã®APIã¯ããã£ãã·ã¥ãããä½ç½®æ å ±ã®ã¯ã¨ãªãæç¤ºçã«è¡ãæ§è½ã«å ãããåçºãã®ä½ç½®æ å ±ãªã¯ã¨ã¹ãã¨ãä½ç½®æ å ±ã®ç¹°ãè¿ãæ´æ°ã®ä¸¡æ¹ãå¯è½ã«ãããã¨ãç®æãã¦ãã¾ããä½ç½®æ å ±ã¯ã緯度ã¨çµåº¦ã®åº§æ¨ã§è¡¨ããã¾ãããã®ä»æ§ã®ã¸ãªãã±ã¼ã·ã§ã³APIã¯ã[AZALOC]ã[GEARSLOC]ã[LOCATIONAWARE]ãªã©ã®ãæ¥çã«ãããåæã®åãçµã¿ãåºç¤ã¨ãã¦ãã¾ãã
次ã®ã³ã¼ãã¯ãåºæ¬çãªä½ç½®æ å ±ã®å徿¹æ³ã«é¢ãã説æãæç²ãããã®ã§ãã
ãåçºãã®ä½ç½®æ å ±ãªã¯ã¨ã¹ãã®ä¾
function showMap(position) { // (position.coords.latitude, position.coords.longitude)ãä¸å¿ // ã¨ããå°å³ã表示ããã } // åçºã®ä½ç½®æ å ±ããªã¯ã¨ã¹ãããã navigator.geolocation.getCurrentPosition(showMap);
ä½ç½®æ å ±ã®ç¹°ãè¿ãæ´æ°ã®ãªã¯ã¨ã¹ãã®ä¾
function scrollMap(position) { // (position.coords.latitude, position.coords.longitude)ãä¸å¿ // ã¨ãªãããã«ãå°å³ãã¹ã¯ãã¼ã«ããã } // ç¹°ãè¿ãæ´æ°ããªã¯ã¨ã¹ãããã var watchId = navigator.geolocation.watchPosition(scrollMap); function buttonClickHandler() { // ã¦ã¼ã¶ããã¿ã³ãã¯ãªãã¯ããããæ´æ°ã䏿¢ããã navigator.geolocation.clearWatch(watchId); }
ä½ç½®æ å ±ã®ç¹°ãè¿ãæ´æ°ã®ãªã¯ã¨ã¹ãã¨ã¨ã©ã¼å¯¾å¿ã®ä¾
function scrollMap(position) { // (position.coords.latitude, position.coords.longitude)ãä¸å¿ // ã¨ãªãããã«ãå°å³ãã¹ã¯ãã¼ã«ããã } function handleError(error) { // error.messageã§divè¦ç´ ãæ´æ°ããã } // ç¹°ãè¿ãæ´æ°ããªã¯ã¨ã¹ãããã var watchId = navigator.geolocation.watchPosition(scrollMap, handleError); function buttonClickHandler() { // ã¦ã¼ã¶ããã¿ã³ãã¯ãªãã¯ããããæ´æ°ã䏿¢ããã navigator.geolocation.clearWatch(watchId); }
æ½å¨çã«ãã£ãã·ã¥ããã¦ããä½ç½®æ å ±ããªã¯ã¨ã¹ãããä¾
// ä½ç½®æ å ±ããªã¯ã¨ã¹ãããããã£ãã·ã¥æéã10å以å ã®ä½ç½®ãåã // å ¥ãããã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ããæã£ã¦ãããã£ãã·ã¥ãããä½ç½®ãª // ãã¸ã§ã¯ããååã«æ°ãããªããã°ãèªåçã«æ°ãããªãã¸ã§ã¯ãã // åå¾ããã navigator.geolocation.getCurrentPosition(successCallback, errorCallback, {maximumAge:600000}); function successCallback(position) { // ä¸è¨ã®ãmaximumAgeããªãã·ã§ã³ã®ä½¿ç¨ã«ãããä½ç½®ãªãã¸ã§ã¯ã // ã¯æå¤§10ååã¾ã§ã®ãã®ã§ãããã¨ãä¿è¨¼ãããã } function errorCallback(error) { // error.messageã§divè¦ç´ ãæ´æ°ããã }
æ°ãããã£ãã·ã¥ãããä½ç½®æ å ±ã®è¿çãã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ãã«å¼·å¶
// ä½ç½®ããªã¯ã¨ã¹ãããããã£ãã·ã¥æéã10å以å ã®ããã£ãã·ã¥ããã // ä½ç½®ã®ã¿ãåãå ¥ãããã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ããæã£ã¦ãããã£ãã·ã¥ã // ããä½ç½®ãªãã¸ã§ã¯ããååã«æ°ãããªããã°ãç´ã¡ã«ã¨ã©ã¼ã»ã³ã¼ã«ã // ãã¯ãå¼ã³åºãããã§ãããã navigator.geolocation.getCurrentPosition(successCallback, errorCallback, {maximumAge:600000, timeout:0}); function successCallback(position) { // ä¸è¨ã®ãmaximumAgeããªãã·ã§ã³ã®ä½¿ç¨ã«ãããä½ç½®ãªãã¸ã§ã¯ãã¯æ // 大10ååã¾ã§ã®ãã®ã§ãããã¨ãä¿è¨¼ãããã0ããªç§ã®ãã¿ã¤ã ã¢ã¦ãã // ã使ç¨ããã°ãé©åãªãã£ãã·ã¥ãããä½ç½®æ å ±ãå©ç¨ã§ããªããã°ã // ã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ãã¯éåæã«ã³ã¼ãTIMEOUTã§ã¨ã©ã¼ã»ã³ã¼ã«ãã㯠// ãå¼ã³åºããæ°ããä½ç½®æ å ±ã®åå¾ããã»ã¹ãéå§ããªãã§ãããã } function errorCallback(error) { switch(error.code) { case error.TIMEOUT: // é©åãªãã£ãã·ã¥ãããä½ç½®æ å ±ãåå¨ããªãå ´åã®è¿ éãªãã©ã¼ã«ããã¯ã doFallback(); // æ°ããä½ç½®ãªãã¸ã§ã¯ããåå¾ããã navigator.geolocation.getCurrentPosition(successCallback, errorCallback); break; case ... // ä»ã®ã¨ã©ã¼ã®ã±ã¼ã¹ãå¦çããã }; } function doFallback() { // ååã«æ°ãããã£ãã·ã¥ãããä½ç½®æ å ±ã¯å©ç¨ã§ããªãã // ããã©ã«ãã®ä½ç½®æ å ±ã«å¯¾ãããã©ã¼ã«ããã¯ã }
ä»»æã®å©ç¨å¯è½ãªãã£ãã·ã¥ãããä½ç½®æ å ±ã®è¿çãã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ãã«å¼·å¶
// ä½ç½®ããªã¯ã¨ã¹ãããããããªããã£ãã·ã¥æéã§ãããã£ãã·ã¥ãããä½ç½® // ã®ã¿ãåãå ¥ãããã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ãããã£ãã·ã¥ãããä½ç½®æ å ±ãå ¨ãæ // ã£ã¦ããªããã°ãç´ã¡ã«ã¨ã©ã¼ã»ã³ã¼ã«ããã¯ãå¼ã³åºãããã§ãããã navigator.geolocation.getCurrentPosition(successCallback, errorCallback, {maximumAge:Infinity, timeout:0}); function successCallback(position) { // ãmaximumAgeããç¡éã«è¨å®ãããã¨ã«ãããä½ç½®ãªãã¸ã§ã¯ãã¯ãã£ãã·ã¥ã // ãããã®ã§ãããã¨ãä¿è¨¼ãããã0ããªã»ã«ã³ãã®ãã¿ã¤ã ã¢ã¦ããã使ç¨ãã // ã¨ããã£ãã·ã¥ãããä½ç½®ãå ¨ãå©ç¨ã§ããªãå ´åãã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ãã¯ã // ç´ã¡ã«ã³ã¼ãTIMEOUTã§ã¨ã©ã¼ã»ã³ã¼ã«ããã¯ãå¼ã³åºããæ°ããä½ç½®æ å ±ã®åå¾ // ããã»ã¹ãéå§ããªãã§ãããã if (position.timestamp < freshness_threshold && position.coords.accuracy < accuracy_threshold) { // ä½ç½®æ å ±ã¯æ¯è¼çæ°ããã¦æ£ç¢ºã } else { // ä½ç½®æ å ±ã¯ããªãå¤ããã¤ï¼ã¾ãã¯ä¸æ£ç¢ºã } } function errorCallback(error) { switch(error.code) { case error.TIMEOUT: // ãã£ãã·ã¥ãããä½ç½®æ å ±ãå ¨ãåå¨ããªãå ´åã®è¿ éãªãã©ã¼ã«ããã¯ã doFallback(); // æ°ããä½ç½®ãªãã¸ã§ã¯ããåå¾ããã navigator.geolocation.getCurrentPosition(successCallback, errorCallback); break; case ... // ä»ã®ã¨ã©ã¼ã®ã±ã¼ã¹ãå¦çããã }; } function doFallback() { // ãã£ãã·ã¥ãããä½ç½®æ å ±ã¯å©ç¨ã§ããªãã // ããã©ã«ãä½ç½®æ å ±ã«å¯¾ãããã©ã¼ã«ããã¯ã }3 対象ç¯å²
ãã®é ã¯éè¦ç¯çã§ãã
ãã®ä»æ§ã¯ããã¹ãã£ã³ã°ã»ããã¤ã¹ã«é¢é£ä»ããããå°ççãªä½ç½®æ å ±ãåå¾ããããã®ã¹ã¯ãªããAPIã®æä¾ã®ã¿ãç¯å²ã¨ãã¦ãã¾ããå°ççãªä½ç½®æ å ±ã¯ãä¸ç測å°ç³»åº§æ¨[WGS84]ã§æä¾ããã¾ãã
ãã®ä»æ§ã®ç¯å²ã«ã¯ããããªã種é¡ã®ãã¼ã¯ã¢ããè¨èªã®æä¾ãå«ã¾ãã¦ãã¾ããã
ãã®ä»æ§ã®ç¯å²ã«ã¯ãå°ççãªä½ç½®ãèå¥ããURIãæ§ç¯ããããã®æ°ããªURIã¹ãã¼ã ã®å®ç¾©ã¯å«ã¾ãã¦ãã¾ããã
4 ã»ãã¥ãªãã£ããã³ãã©ã¤ãã·ã¼ã«é¢ããçæç¹ãã®ä»æ§ã§å®ç¾©ãã¦ããAPIã¯ããã¹ãã£ã³ã°ã»ããã¤ã¹ã®å°ççãªä½ç½®ãåå¾ããããã«ç¨ãããã¾ããã»ã¨ãã©ã®å ´åããã®æ å ±ã¯ãã®ããã¤ã¹ã®ã¦ã¼ã¶ã®ä½ç½®ãé示ãããããã¦ã¼ã¶ã®ãã©ã¤ãã·ã¼ãå±éºã«ãããããå¯è½æ§ãããã¾ãããã®ä»æ§ã«é©åããå®è£ ã¯ãã¦ã¼ã¶ã®ãã©ã¤ãã·ã¼ãä¿è·ããã¡ã«ããºã ãæä¾ããªããã°ãªããããã®ã¡ã«ããºã ã¯ãã¦ã¼ã¶ãæç¢ºã«è¨±å¯ããªãéãããã®APIã§ä½ç½®æ å ±ãå©ç¨ã§ããããã«ãªããªããã¨ãä¿è¨¼ãã¹ãã§ãã
4.1 ã¸ãªãã±ã¼ã·ã§ã³APIã®å®è£ è ã®ããã®ãã©ã¤ãã·ã¼ã«é¢ããçæç¹ã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ãã¯ãã¦ã¼ã¶ãæç¢ºã«è¨±å¯ãã¦ããªãã¦ã§ããµã¤ãã«ä½ç½®æ å ±ãéä¿¡ãã¦ã¯ãªãã¾ãããä¸è¨ã§è¿°ã¹ã¦ããããã«ãäºåã«ã¦ã¼ã¶ã¨ã®ä¿¡é ¼é¢ä¿ãæ§ç¯ã§ãã¦ããªãå ´åãã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ãã¯ãã¦ã¼ã¶ã»ã¤ã³ã¿ã¼ãã§ã¼ã¹ãéãã¦è¨±å¯ãå¾ãªããã°ãªãã¾ãããã¦ã¼ã¶ã»ã¤ã³ã¿ã¼ãã§ã¼ã¹ã«ã¯ãããã¥ã¡ã³ãã®URI[URI]ã®ãã¹ãã»ã³ã³ãã¼ãã³ããå«ã¾ãã¦ããªããã°ãªãã¾ãããã¦ã¼ã¶ã»ã¤ã³ã¿ã¼ãã§ã¼ã¹ã§å¾ããã許å¯ããç¾å¨ã®ãã©ã¦ã¸ã³ã°ã»ã»ãã·ã§ã³ã®ç¯å²ãè¶ãã¦(ã¤ã¾ãããã©ã¦ã¸ã³ã°ã»ã³ã³ããã¹ã[BROWSINGCONTEXT]ãå¥ã®URLã«ããã²ã¼ããããæéãè¶ ãã¦)ä¿æããã¦ããå ´åããããåæ¶ã§ããªããã°ãªãããã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ãã¯è¨±å¯ãåæ¶ãããã°ãããå°éããªããã°ãªãã¾ããã
ä¸é¨ã®ã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ãã¯ããã®ãããªã¦ã¼ã¶ã»ã¤ã³ã¿ã¼ãã§ã¼ã¹ãå¿ è¦ã¨ããªãä¿¡é ¼é¢ä¿ãäºåã«æ§ç¯ããã§ããããä¾ãã°ãã¦ã§ãã»ãµã¤ããå°ççãªä½ç½®æ å ±ãç¹å®ãããªã¯ã¨ã¹ããè¡ãªãæã«ã¯ã¦ã¨ãã»ãã©ã¦ã¶ã¯ã¦ã¼ã¶ã»ã¤ã³ã¿ã¼ãã§ã¼ã¹ã表示ããããããã¾ããããE911(訳注ï¼ç±³å½ã®æºå¸¯é»è©±ã«ãããç·æ¥éå ±)æ©è½ãå®è¡ããããã«ä½ç½®æ å ±ãç¨ããå ´åã¯ãVOIPé»è©±ã¯ã¦ã¼ã¶ã»ã¤ã³ã¿ã¼ãã§ã¼ã¹ã表示ããªãããããã¾ããã
4.2 ä½ç½®æ å ±ã®åä¿¡è ã®ããã®ãã©ã¤ãã·ã¼ã«é¢ããçæç¹åä¿¡è ã¯ãå¿ è¦ãªå ´åã«ã®ã¿ä½ç½®æ å ±ããªã¯ã¨ã¹ãããªããã°ãªãã¾ãããåä¿¡è ã¯ãä¸ããããã¿ã¹ã¯ã®ããã«ã®ã¿ä½ç½®æ å ±ãç¨ããªãã¦ã¯ãªãã¾ãããåä¿¡è ã¯ãã¦ã¼ã¶ããä½ç½®æ å ±ã®ä¿æãæç¢ºã«è¨±å¯ããã¦ããå ´åãé¤ãããã®ã¿ã¹ã¯ã®å®äºæã«ãã®æ å ±ã廿£ããªããã°ãªãã¾ãããåä¿¡è ã¯ããã®æ å ±ã䏿£ãªã¢ã¯ã»ã¹ããä¿è·ããããã®æªç½®ãè¬ããªããã°ãªãã¾ãããä½ç½®æ å ±ãä¿åããå ´åã¯ãã¦ã¼ã¶ããã®æ å ±ãæ´æ°ã»åé¤ã§ããããã«ãã¹ãã§ãã
ä½ç½®æ å ±ã®åä¿¡è ã¯ãã¦ã¼ã¶ãæç¢ºãªè¨±å¯ãªãä½ç½®æ å ±ãåéä¿¡ãã¦ã¯ãªãã¾ãããåéä¿¡æã«ã¯æ³¨æãã¹ãã§ãããæå·åã®å©ç¨ãæ¨å¥¨ããã¾ãã
åä¿¡è ã¯ãä½ç½®ãã¼ã¿ãåéãã¦ããã¨ããäºå®ãåéç®çããã¼ã¿ã®ä¿ææéããã¼ã¿ã®ä¿è·æ¹æ³ããã¼ã¿ãå ±æããå ´åã®å ±ææ¹æ³ãã¦ã¼ã¶ããã¼ã¿ã«ã¢ã¯ã»ã¹ãæ´æ°ãåé¤ã§ããæ¹æ³ããã¼ã¿ã«é¢ãã¦ã¦ã¼ã¶ãæãããã®ä»ã®é¸æè¢ãæç¢ºãã¤ç®ç«ã¤ããã«é示ããªããã°ãªãã¾ããããã®é示ã«ã¯ãä¸è¨ã®ã¬ã¤ãã©ã¤ã³ã®ä¾å¤ã«é¢ãã説æãå«ã¾ãã¦ããªããã°ãªãã¾ããã
4.3 å®è£ ã«é¢ããè£è¶³ççæç¹ãã®é ã¯éè¦ç¯çã§ãã
ã¸ãªãã±ã¼ã·ã§ã³APIã®å®è£ è ã¯ãåé ã§æããè¦ä»¶ã«å ããã¦ã¼ã¶ã®ãã©ã¤ãã·ã¼ã«æªå½±é¿ãåã¼ãããæ¬¡ã®ç¹ã«ã¤ãã¦ãèæ ®ãããã¨ãæ¨å¥¨ããã¾ããã¦ã¼ã¶ã¯ãèªåã®ä½ç½®ãã¦ã§ããµã¤ãã«é示ãã許å¯ãã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ãã«ãã£ããä¸ãã¦ãã¾ãå ´åãããã¾ããã¾ããã¦ã¼ã¶ã«é¢ããéããããURLã§æä¾ããã¦ããã³ã³ãã³ãã夿´ããã以åã«ä¸ããããä½ç½®ã«é¢ãã許å¯ãé©ç¨ãããªããªãå ´åãããã¾ãããããã¯ãåã«ã¦ã¼ã¶ãèããå¤ããããããã¾ããã
ãããã®ç¶æ³ãäºæ¸¬ããã鲿¢ããããããã¨ã¯æ¬è³ªçã«å°é£ã§ããç·©åçãå¾¹åºçãªé²å¾¡çã¯å®è£ ã®è²¬ä»»ã§ããããã®ä»æ§ã§ã¯è¦å®ãã¦ãã¾ãããããããå®è£ è ã¯ããããã®ææ®µãè¨è¨ããéã«ãã¦ã¼ã¶ãä½ç½®æ å ±ã®å ±æã«ã¤ãã¦æèã§ããããã«ãã許å¯ã®åãæ¶ããå¯è½ãªã¤ã³ã¿ã¼ãã§ã¼ã¹ã«å®¹æã«ã¢ã¯ã»ã¹ã§ããããã«ãããã¨ããå§ããã¾ãã
5 APIè¨è¿° 5.1 Geolocationã¤ã³ã¿ã¼ãã§ã¼ã¹Geolocation
ãªãã¸ã§ã¯ãã¯ããã¹ãã£ã³ã°ã»ããã¤ã¹ã«é¢é£ããä½ç½®æ
å ±ãããã°ã©ã ã§æ±ºå®ããããã«ãã¹ã¯ãªããã§ç¨ãã¾ããä½ç½®æ
å ±ã¯ãã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ãã®ç¹å®ã®ã¢ã«ã´ãªãºã ãé©ç¨ããPosition
ãªãã¸ã§ã¯ãã使ããããã«åºã¥ãã¦ããªãã¸ã§ã¯ãã«é©åãªãã¼ã¿ãå
¥åãããã¨ã§å¾ããã¾ãã
partial interface Navigator { readonly attribute Geolocation geolocation; };
[NoInterfaceObject] interface Geolocation { void getCurrentPosition(PositionCallback successCallback, optional PositionErrorCallback errorCallback, optional PositionOptions options); long watchPosition(PositionCallback successCallback, optional PositionErrorCallback errorCallback, optional PositionOptions options); void clearWatch(long watchId); }; callback PositionCallback = void (Position position); callback PositionErrorCallback = void (PositionError positionError);
getCurrentPosition()
ã¡ã½ããã¯ã1ã¤ãã2ã¤ãã3ã¤ã®å¼æ°ãã¨ãã¾ãããããå¼ã³åºãããã°ç´ã¡ã«å¿çããããã¤ã¹ã®ç¾å¨ã®ä½ç½®æ
å ±ã®åå¾ãéåæã«è©¦ã¿ãªããã°ãªãã¾ããã試ã¿ãæåããã°ãsuccessCallback
ãæ°ããPosition
ãªãã¸ã§ã¯ãã§å¼ã³åºãã(ã¤ã¾ããhandleEvent
ãªãã¬ã¼ã·ã§ã³ãã³ã¼ã«ããã¯ã»ãªãã¸ã§ã¯ãä¸ã§å¼ã³åºãã)ãããã¤ã¹ã®ç¾å¨ã®ä½ç½®æ
å ±ãåæ ããªããã°ãªãã¾ããã試ã¿ã失æããã°ãerrorCallback
ãæ°ããPositionError
ãªãã¸ã§ã¯ãã§å¼ã³åºããã失æã®çç±ãåæ ããªããã°ãªãã¾ããã
getCurrentPosition
ã¡ã½ããã®å®è£
ã¯ã次ã®ã¹ããããå®è¡ããªããã°ãªãã¾ããã
Position
ãªãã¸ã§ã¯ã(ãã£ãã·ã¥æéãmaximumAge夿°ã®å¤ãã大ãããªã)ãå©ç¨ã§ããå ´åã¯ããã£ãã·ã¥ãããPosition
ãªãã¸ã§ã¯ãã§successCallback
ããã©ã¡ã¼ã¿ã¨ãã¦å¼ã³åºãããã®ä¸é£ã®ã¹ããããçµäºãã¾ããcode
屿§ãTIMEOUTã«è¨å®ããã¦ããæ°ããPositionError
ãªãã¸ã§ã¯ãã§errorCallback
(åå¨ãã¦ããã°)ãå¼ã³åºãããã®ä¸é£ã®ã¹ããããçµäºãã¾ããenableHighAccuracy
ã®å®ç¾©ãåç
§)ãcode
屿§ãTIMEOUTã«è¨å®ããã¦ããæ°ããPositionError
ãªãã¸ã§ã¯ãã§errorCallback
(åå¨ãã¦ããã°)ãå¼ã³åºãããã®ä¸é£ã®ã¹ããããçµäºãã¾ããPosition
ãªãã¸ã§ã¯ãã§successCallback
ãå¼ã³åºãããã®ä¸é£ã®ã¹ããããçµäºãã¾ããcode
ãPOSITION_UNAVAILABLEã«è¨å®ããã¦ããæ°ããPositionError
ãªãã¸ã§ã¯ãã§errorCallback
(åå¨ãã¦ããã°)ãå¼ã³åºãã¾ããwatchPosition()
ã¡ã½ããã¯ã1ã¤ãã2ã¤ãã3ã¤ã®å¼æ°ãã¨ãã¾ãããããå¼ã³åºãããã°ãç£è¦ãªãã¬ã¼ã·ã§ã³ã䏿ã«èå¥ããé·ãå¤ãç´ã¡ã«è¿ããç£è¦ãªãã¬ã¼ã·ã§ã³ãéåæã«éå§ããªããã°ãªãã¾ããããã®ãªãã¬ã¼ã·ã§ã³ã¯ãããã¤ã¹ã®ç¾å¨ã®ä½ç½®æ
å ±ã®åå¾ãæåã«è©¦ã¿ãªããã°ãªãã¾ããã試ã¿ãæåããã°ãsuccessCallback
ãæ°ããPosition
ãªãã¸ã§ã¯ãã§å¼ã³åºãã(ã¤ã¾ããhandleEvent
ãªãã¬ã¼ã·ã§ã³ãã³ã¼ã«ããã¯ã»ãªãã¸ã§ã¯ãä¸ã§å¼ã³åºãã)ãããã¤ã¹ã®ç¾å¨ã®ä½ç½®æ
å ±ãåæ ããªããã°ãªãã¾ããã試ã¿ã失æããã°ãerrorCallback
ãæ°ããPositionError
ãªãã¸ã§ã¯ãã§å¼ã³åºããã失æã®çç±ãåæ ããªããã°ãªãã¾ããããã®å¾ãç£è¦ãªãã¬ã¼ã·ã§ã³ã¯ãããã¤ã¹ã®ä½ç½®ã®ã¢ãã¿ãªã³ã°ãç¶ç¶ãããã®ä½ç½®ãå¤ãããã³ã«é©åãªã³ã¼ã«ããã¯ãå¼ã³åºããªããã°ãªãã¾ãããç£è¦ãªãã¬ã¼ã·ã§ã³ã¯ãclearWatch
ã¡ã½ããã対å¿ããèå¥åã§å¼ã³åºãããã¾ã§ãç¶ç¶ããªããã°ãªãã¾ããã
ç£è¦ããã»ã¹ã®å®è£ ã¯ã次ã®ä¸é£ã®ã¹ããããå®è¡ããªããã°ãªãã¾ããã
Position
ãªãã¸ã§ã¯ã(ãã£ãã·ã¥æéãmaximumAge夿°ã®å¤ãã大ãããªã)ãå©ç¨ã§ããå ´åã¯ããã£ãã·ã¥ãããPosition
ãªãã¸ã§ã¯ãã§successCallback
ããã©ã¡ã¼ã¿ã¨ãã¦å¼ã³åºãã¾ããenableHighAccuracy
ã®å®ç¾©ãåç
§)ãcode
屿§ãTIMEOUTã«è¨å®ããã¦ããæ°ããPositionError
ãªãã¸ã§ã¯ãã§errorCallback
(åå¨ãã¦ããã°)ãå¼ã³åºããã¹ããã6ã«é£ã³ã¾ããPosition
ãªãã¸ã§ã¯ãã§successCallback
ãå¼ã³åºãã¾ãããã®ã¹ãããã¯ãã³ã¼ã«ããã¯ã»ã¬ã¼ãå¶éã®å¯¾è±¡ã§ãããã¾ã(ä¸è¨ãåç
§)ãcode
ãPOSITION_UNAVAILABLEã«è¨å®ããã¦ããæ°ããPositionError
ãªãã¸ã§ã¯ãã§errorCallback
(åå¨ãã¦ããã°)ãå¼ã³åºãã¾ãããã®ã¹ãããã¯ãã³ã¼ã«ããã¯ã»ã¬ã¼ãå¶éã®å¯¾è±¡ã§ãããã¾ã(ä¸è¨ãåç
§)ãç£è¦ããã»ã¹ã®ã¹ããã5.2.2ã§ãæ°ããä½ç½®æ
å ±ãå¾ããããã®ä½ç½®æ
å ±ã以åã«å ±åãããä½ç½®æ
å ±ã¨å¤§ããç°ãªãå ´åã«ã®ã¿ãsuccessCallback
ãå¼ã³åºããã¾ããä½ããã£ã¦é大ãªéãã¨ããã®ãã®å®ç¾©ã¯ãå®è£
ã«å§ãããã¾ããããã«ã5.2.2ã¨5.2.3ã®ã¹ãããã§ãå®è£
ã¯ãé度ãªéã®è³æºã䏿³¨æã«æ¶è²»ããªãããã«ããããã«ã³ã¼ã«ããã¯ã®é »åº¦ã«å¶éã課ããã¨ãã§ãã¾ãã
getCurrentPosition
ã¨watchPosition
ã®ã©ã¡ãã®å ´åããå®è£
ã¯ãæåã«ä½ç½®æ
å ±ãå
±æãã許å¯ãã¦ã¼ã¶ããå¾ãªãéããæ±ºãã¦successCallback
ãå¼ã³åºãã¦ã¯ãªãã¾ãããããã«ããã®å®è£
ã¯ãä¸è¨ã®getCurrentPosition
ãwatchPosition
ã®ã©ã¡ããã®ã¹ããããå®è¡ããåã«ãä½ç½®æ
å ±ãå
±æãã許å¯ãã¦ã¼ã¶ããå¿
ãå¾ãã¹ãã§ããã¦ã¼ã¶ã許å¯ãä¸ããã°ãä¸è¨ã®ãããªé©åãªã³ã¼ã«ããã¯ãå¼ã³åºãããªããã°ãªãã¾ãããã¦ã¼ã¶ã許å¯ãå¦å®ããã°ãä¸è¨ã®ã¹ãããã§ééããä»ã®ã¨ã©ã¼ã«é¢ä¿ãªããerrorCallback
(åå¨ãã¦ããã°)ãcode
PERMISSION_DENIEDã§å¼ã³åºãããªããã°ãªãã¾ãããã¦ã¼ã¶ã®è¨±å¯ãå¾ãããã«è²»ããããæéããPositionOptions
ãã©ã¡ã¼ã¿ã®timeout
屿§ã§ã«ãã¼ãããæéã«å«ãã§ã¯ãªãã¾ãããtimeout
屿§ã¯ãä½ç½®æ
å ±åå¾ãªãã¬ã¼ã·ã§ã³ã®ã¿ã«é©ç¨ããªããã°ãªãã¾ããã
clearWatch()
ã¡ã½ããã¯1ã¤ã®å¼æ°ãã¨ãã¾ãããããå¼ã³åºãããã°ãä¸ããããwatchId
弿°ã®å¤ãæåã«ãã§ãã¯ããªããã°ãªãã¾ããããã®å¤ã以åã«éå§ããã©ã®ç£è¦ããã»ã¹ã«ã対å¿ãã¦ããªããã°ãã¡ã½ããã¯ãã以ä¸ã®ã¢ã¯ã·ã§ã³ãè¡ããã«ãç´ã¡ã«è¿çããªããã°ãªãã¾ãããããã§ãªãå ´åã¯ãwatchId
弿°ã§èå¥ãããç£è¦ããã»ã¹ã¯ç´ã¡ã«æ¢ããããªããã°ãªããããã以ä¸ã®ã³ã¼ã«ããã¯ãå¼ã³åºããã¦ã¯ãªãã¾ããã
getCurrentPosition()
ã¨watchPosition()
ã®ã¡ã½ããã¯ãPositionOptions
ãªãã¸ã§ã¯ãããããã®3çªç®ã®å¼æ°ã¨ãã¦åãå
¥ãã¾ãã
ECMAScriptã§ã¯ãPositionOptions
ãªãã¸ã§ã¯ãã¯ãenableHighAccuracy
ãtimeout
ããã³maximumAge
ã¨ããåã®ãªãã·ã§ã³ã®ããããã£ã¼ã¨ã¨ãã«ãæ£è¦ã®æ¬æ¥ã®ãªãã¸ã§ã¯ããç¨ãã¦è¡¨ããã¾ãã
dictionary PositionOptions { boolean enableHighAccuracy = false; [Clamp] unsigned long timeout = 0xFFFFFFFF; [Clamp] unsigned long maximumAge = 0; };
ECMAScriptã§ã¯ãenableHighAccuracy
ãtimeout
ããã³maximumAge
ã¨ããããããã£ã¼ã¯ããã¹ã¦ãªãã·ã§ã³ã§ããPositionOptionsãªãã¸ã§ã¯ãã使ããå ´åãéçºè
ã¯ãããã®ããããã£ã¼ãã©ãã§ãæå®ã§ãã¾ãã
enableHighAccuracy
屿§ã¯ãã¢ããªã±ã¼ã·ã§ã³ãæãè¯ãçµæãåãåãããã¨ãã示åãä¸ãã¾ãããã®çµæãå¿çæéãé
ããªã£ãããé»åæ¶è²»éãå¢ãããããå¯è½æ§ãããã¾ããã¦ã¼ã¶ã¯ããã®æ§è½ãæå¦ãããã¨ãã§ãã¾ããã¾ããããã¤ã¹ã¯ãã©ã°ãæå®ããã¦ããªãã£ãã¨ããããæ£ç¢ºãªçµæãæä¾ã§ããªãå¯è½æ§ãããã¾ãããã®å±æ§ã®æ¬æ¥ã®ç®çã¯ãé«ç²¾åº¦ãªã¸ãªãã±ã¼ã·ã§ã³ã®ç¢ºå®ãè¦æ±ããªããã¨ããå®è£
ã«å¯¾ãã¦ã¢ããªã±ã¼ã·ã§ã³ãéç¥ã§ããããã«ãããã¨ã§ãããããã£ã¦ãå®è£
ã§ã¯ã大éã®é»åãæ¶è²»ããã¸ãªãã±ã¼ã·ã§ã³ã»ãããã¤ãã¼(ä¾ãã°ãGPS)ãç¨ããªãããã«ãããã¨ãã§ãã¾ããããã¯ç¹ã«ãæºå¸¯é»è©±ã®ãããªé»æ± å¼ã®ããã¤ã¹ã§ä½åããã¢ããªã±ã¼ã·ã§ã³ã«æç¨ã§ãã
timeout
屿§ã¯ã対å¿ããsuccessCallback
ãå¼ã³åºãããã¾ã§ã«ãå¼ã³åºãããgetCurrentPosition()
ã¾ãã¯watchPosition()
ã¸ã®åãæ¸¡ãã«è¨±ããã¦ããæé·æé(ããªç§ã§)ã示ãã¾ããæ¢å®ã®ã¿ã¤ã ã¢ã¦ãæéãçµéããåã«ãå®è£
ãæ°ããPosition
ããã¾ãåå¾ã§ããããã®éã«ä»ã®ã¨ã©ã¼ãçãã¦ããªããã°ã対å¿ããerrorCallback
ã¯ãcode
屿§ãTIMEOUTã«è¨å®ããã¦ããPositionError
ãªãã¸ã§ã¯ãã§å¼ã³åºãããªããã°ãªãã¾ãããtimeout
屿§ãã«ãã¼ããæéã«ã¯ãã¦ã¼ã¶ããã®è¨±å¯ã®åå¾ã«è²»ããæéãå«ã¾ããªããã¨ã«æ³¨æãã¦ãã ãããtimeout
屿§ã¯ãä½ç½®æ
å ±åå¾ãªãã¬ã¼ã·ã§ã³ã®ã¿ã«å½ã¦ã¯ã¾ãã¾ãã
getCurrentPosition()
å¼ã³åºãã®å ´åãerrorCallback
ã¯æå¤§1åå¼ã³åºãããã§ããããwatchPosition()
ã®å ´åãerrorCallback
ã¯ç¹°ãè¿ãå¼ã³åºãããããããã¾ãããæåã®ã¿ã¤ã ã¢ã¦ãã¯ãwatchPosition()
ãå¼ã³åºãããç¬éããã¦ã¼ã¶ã®è¨±å¯(å¿
è¦ãªå ´åã«)ãå¾ãããç¬éã«é¢ä¿ãããã¾ããæ¬¡ã®ã¿ã¤ã ã¢ã¦ãã¯ããã¹ãã£ã³ã°ã»ããã¤ã¹ã®ä½ç½®ãå¤ãã£ããããæ°ããPosition
ãªãã¸ã§ã¯ããåå¾ããªããã°ãªããªãã¨å®è£
ãæå®ããç¬éã«é¢ä¿ãããã¾ãã
maximumAge
屿§ã¯ãã¢ããªã±ã¼ã·ã§ã³ããããªç§ã§æå®ãããæéãããæéã大ãããªããã£ãã·ã¥ãããä½ç½®æ
å ±ãåãã§åãå
¥ãããã¨ã示ãã¾ããmaximumAge
ã0ã«è¨å®ããã¦ããã°ãå®è£
ã¯æ°ããä½ç½®ãªãã¸ã§ã¯ãã®åå¾ãç´ã¡ã«è©¦ã¿ãªããã°ãªãã¾ãããmaximumAge
ãç¡é(Infinity)ã«è¨å®ããã¨ãå®è£
ã¯ãã£ãã·ã¥æéã«ãããããããã£ãã·ã¥ãããä½ç½®æ
å ±ã®è¿çãæ±ºå®ããªããã°ãªãã¾ãããæå®ãããmaximumAge
ãããæéã大ãããªãããã£ãã·ã¥ãããä½ç½®æ
å ±ãå®è£
ãå©ç¨ã§ããªãå ´åãæ°ããä½ç½®ãªãã¸ã§ã¯ããåå¾ããªããã°ãªãã¾ãããwatchPosition()
ã®å ´åãmaximumAge
ã¯ãå®è£
ã«ãã£ã¦è¿ãããæåã®ä½ç½®ãªãã¸ã§ã¯ããåç
§ãã¾ãã
Position
ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¯ããã®APIãè¿ããã¸ãªãã±ã¼ã·ã§ã³æ
å ±ã®ããã®ã³ã³ããã§ãããã®ãã¼ã¸ã§ã³ã®ä»æ§ã§ã¯ãåCoordinates
ã¨timestamp
ã®1ã¤ã®å±æ§ãèªãããã¦ãã¾ããå°æ¥ã®APIã®ãã¼ã¸ã§ã³ã§ã¯ããã®ä½ç½®(ä¾ãã°ã使)ã«é¢ããä»ã®æ
å ±ãæä¾ãã追å ã®å±æ§ãèªããããããããã¾ããã
[NoInterfaceObject] interface Position { readonly attribute Coordinates coords; readonly attribute DOMTimeStamp timestamp; };
coords
屿§ã«ã¯ãé«åº¦ã¨é度ãªã©ã®ä»ã®ãªãã·ã§ã³ã®å±æ§ã«å ããå°ççãªåº§æ¨æ
å ±ããããã®é¢é£ãã精度ã¨ã¨ãã«å«ã¾ãã¦ãã¾ãã
timestamp
屿§ã¯ãPosition
ãªãã¸ã§ã¯ããå¾ãããæéã表ããDOMTimeStamp[DOMTIMESTAMP]ã¨ãã¦è¡¨ããã¾ãã
[NoInterfaceObject] interface Coordinates { readonly attribute double latitude; readonly attribute double longitude; readonly attribute double? altitude; readonly attribute double accuracy; readonly attribute double? altitudeAccuracy; readonly attribute double? heading; readonly attribute double? speed; };
ãã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ã§å±æ§ãç¨ããå°ççãªåº§æ¨åç §ç³»ã¯ãä¸ç測å°ç³»(2d)[WGS84]ã§ãããã®ä»ã®åç §ç³»ã¯ãµãã¼ãããã¦ãã¾ããã
latitude
ã¨longitude
ã®å±æ§ã¯ã10鲿°ã®åº¦æ°ã§æå®ãããå°ççãªåº§æ¨ã§ãã
altitude
屿§ã¯ãä½ç½®ã®é«ãã表ãã[WGS84]æ¥åä½ããã®é«ããã¡ã¼ãã«ã§æå®ãã¾ããå®è£
ãé«åº¦ã®æ
å ±ãæä¾ã§ããªãå ´åããã®å±æ§ã®å¤ã¯ãã«(null)ã§ãªããã°ãªãã¾ãããaccuracy屿§ã¯ã緯度ã¨çµåº¦ã®åº§æ¨ã®ç²¾åº¦ã®ã¬ãã«ã示ãã¾ããããã¯ã¡ã¼ãã«ã§æå®ãããã¹ã¦ã®å®è£
ã§ãµãã¼ããããªããã°ãªãã¾ãããaccuracy屿§ã®å¤ã¯è² ã§ãªã宿°ã§ãªããã°ãªãã¾ããã
accuracy
屿§ã¯ã¡ã¼ãã«ã§æå®ãã¾ããå®è£
ãé«åº¦æ
å ±ãæä¾ã§ããªãå ´åããã®å±æ§ã®å¤ã¯ãã«ã§ãªããã°ãªãã¾ãããããã§ãªãå ´åã«ã¯ãaltitudeAccuracy屿§ã®å¤ã¯è² ã§ãªã宿°ã§ãªããã°ãªãã¾ããã
altitudeAccuracy
屿§ã¯ã¡ã¼ãã«ã§æå®ãã¾ããå®è£
ãé«åº¦æ
å ±ãæä¾ã§ããªãå ´åããã®å±æ§ã®å¤ã¯ãã«ã§ãªããã°ãªãã¾ãããããã§ãªãå ´åã«ã¯ãaltitudeAccuracy屿§ã®å¤ã¯è² ã§ãªã宿°ã§ãªããã°ãªãã¾ããã
å®è£
ãè¿ãaccuracy
ã¨altitudeAccuracy
ã®å¤ã¯ã95%ã®ä¿¡é ¼ã¬ãã«ã«ç¸å½ãã¹ãã§ãã
heading
屿§ã¯ããã¹ãã£ã³ã°ã»ããã¤ã¹ã®ç§»åæ¹åã示ããçåã«å¯¾ãã¦æè¨åãã«ã0° ≤ æ¹å < 360°ã®ç¯å²ã§ã度æ°ã§æå®ãã¾ããå®è£
ãheadingæ
å ±ãæä¾ã§ããªãå ´åããã®å±æ§ã®å¤ã¯ãã«ã§ãªããã°ãªãã¾ããããã¹ãã£ã³ã°ã»ããã¤ã¹ã鿢ãã¦ããå ´å(ã¤ã¾ããspeed
屿§ã®å¤ã0)ãheading屿§ã®å¤ã¯NaNã§ãªããã°ãªãã¾ããã
speed
屿§ã¯ããã¹ãã£ã³ã°ã»ããã¤ã¹ã®ç¾å¨ã®éåº¦ã®æ°´å¹³æåã®å¤§ããã示ããã¡ã¼ãã«æ¯ç§ã§æå®ãã¾ããå®è£
ãé度æ
å ±ãæä¾ã§ããªãå ´åããã®å±æ§ã®å¤ã¯ãã«ã§ãªããã°ãªãã¾ãããããã§ãªãå ´åã«ã¯ãéåº¦å±æ§ã®å¤ã¯è² ã§ãªã宿°ã§ãªããã°ãªãã¾ããã
[NoInterfaceObject] interface PositionError { const unsigned short PERMISSION_DENIED = 1; const unsigned short POSITION_UNAVAILABLE = 2; const unsigned short TIMEOUT = 3; readonly attribute unsigned short code; readonly attribute DOMString message; };
code
屿§ã¯ã次ã®ãªã¹ãããé©åãªã³ã¼ããè¿ããªããã°ãªãã¾ããã
PERMISSION_DENIED
(æ°å¤1)
POSITION_UNAVAILABLE
(æ°å¤2)
TIMEOUT
(æ°å¤3)
Position
ãªãã¸ã§ã¯ãã®åå¾ã«æåããåã«ãtimeout
ããããã£ã¼ã§æå®ãããæéãçµéããã
message
屿§ã¯ãééããã¨ã©ã¼ã®è©³ç´°ã説æããã¨ã©ã¼ã»ã¡ãã»ã¼ã¸ãè¿ããªããã°ãªãã¾ããããã®å±æ§ã¯ã主ã¨ãã¦ãããã°ãç®çã¨ãã¦ãããéçºè
ã¯ã¢ããªã±ã¼ã·ã§ã³ã®ã¦ã¼ã¶ã»ã¤ã³ã¿ã¼ãã§ã¼ã¹ã§ãããç´æ¥ä½¿ç¨ãã¹ãã§ã¯ããã¾ããã
å¤å½ã®é½å¸ã訪ãã人ã¯ã観å åæã®ãã¼ã¿ãã¼ã¹ãæ¤ç´¢ã»é²è¦§ã§ããã¦ã§ãã»ã¢ããªã±ã¼ã·ã§ã³ã«ã¢ã¯ã»ã¹ã§ãã¾ããã¦ã§ãã»ã¢ããªã±ã¼ã·ã§ã³ã¯ãã¸ã§ãªãã±ã¼ã·ã§ã³APIãç¨ãã¦ã¦ã¼ã¶ã®ããããã®ä½ç½®æ å ±ã«ã¢ã¯ã»ã¹ã§ãããããã¦ã¼ã¶ã®ä½ç½®ã«è¿ãé ã«æ¤ç´¢çµæã並ã¹ããã¨ãã§ãã¾ãã
6.1.2 ä½ç½®æ å ±ãç¨ããã³ã³ãã³ãã®ã¢ããã¼ã·ã§ã³å人ã®ã°ã«ã¼ããã¹ã³ããã©ã³ãã®é«å°ããã¤ãã³ã°ãã¦ãã¾ããå½¼ãã®ä¸é¨ã¯ãæ è¡ä¸ã«çãã¡ã¢ãæ¸ããæ§ã ãªå ´æã§åçãæ®ããå½¼ãã®æºå¸¯ç«¯æ«å ã§ãªãã©ã¤ã³ã§åä½ããã¦ã§ãã»ã¢ããªã±ã¼ã·ã§ã³ãç¨ãã¦ãããããä¿åãã¾ããå½¼ããæ°ããã³ã³ãã³ãã追å ãããã³ã«ããã®ã¢ããªã±ã¼ã·ã§ã³ã¯ãã¸ã§ãªãã±ã¼ã·ã§ã³API(ä»åº¦ã¯ãå èµã®GPSããã¤ã¹ãç¨ãã)ããã®ä½ç½®ãã¼ã¿ãç¨ãã¦èªåçã«ã¿ã°ä»ããè¡ãã¾ããå½¼ããçºãæã«å°çãããããã¯ã¼ã¯ã®ç¯å²å ã«ã¾ãå ¥ããã³ã«ããã®ã¢ããªã±ã¼ã·ã§ã³ã¯ã人æ°ã®ããããã°ã»ãµã¤ãã«å½¼ãã®ã¡ã¢ã¨åçãèªåçã«ã¢ãããã¼ããã¾ãããããã¯ããããã³ã°ã»ãµã¼ãã¹ã¸ã®ãªã³ã¯ãæ§ç¯ããããã«ã¸ã§ãªãã±ã¼ã·ã§ã³ã»ãã¼ã¿ãç¨ãã¾ããã°ã«ã¼ãã®æ è¡ããã©ãã¦ã¼ã¶ã¯ããããã®ãªã³ã¯ãã¯ãªãã¯ãã¦ãã¡ã¢ãæ¸ãããåçãæ®ãããå°åã®è¡æåçãè¦ããã¨ãã§ãã¾ããå¥ã®ä¾ã¯ãããã¦ã¼ã¶ãèªèº«ã®æ¯æ¥ã®çµé¨ãè¨é²ããã³ã³ãã³ã(ä¾ãã°ãç»åããããªãé³å£°)ã使ããçæ´»ããã°ã§ãããã®ã³ã³ãã³ãã¯ãæéãå°ççä½ç½®ãè¨é²æã®ã¦ã¼ã¶ã®ææ ã¾ã§ãå«ãã æ å ±ã§èªåçã«ã¢ããã¼ã·ã§ã³ãä»ä¸ã§ãã¾ãã
6.1.3 å°å³ä¸ã®ã¦ã¼ã¶ã®ä½ç½®ã®è¡¨ç¤ºã¦ã¼ã¶ã¯å¸å ã®ç¥ããªãå°åã«ãã¾ãã彼女ã¯èªèº«ã®ä½ç½®ã確èªãããã¨æããã¸ã§ãªãã±ã¼ã·ã§ã³APIãç¨ãã¦ãå¸å ã®å°å³ä¸ã§å½¼å¥³ã®æ£ç¢ºãªä½ç½®ã示ãã¦ãããã¦ã§ãã»ãã¼ã¹ã®ãããã³ã°ã»ã¢ããªã±ã¼ã·ã§ã³ãå©ç¨ããããã«æºå¸¯ç«¯æ«ãç¨ãã¾ãããã®å¾ã彼女ã¯ãç¾å¨ä½ç½®ãã叿ããç®çå°ã¸ã®é転æ¹åãæä¾ãã¦ãããããã«ã¦ã§ãã»ã¢ããªã±ã¼ã·ã§ã³ã«ä¾é ¼ãã¾ãã
6.1.4 é²è·¯å¤æ´ãã¨ã®ã«ã¼ãã»ããã²ã¼ã·ã§ã³ãããã³ã°ã»ã¢ããªã±ã¼ã·ã§ã³ã¯ãé²è·¯å¤æ´ã®ãã³ã«è©³ç´°ãªæç¤ºãè¡ããã¨ã«ãããã¦ã¼ã¶ãã«ã¼ãã«æ²¿ã£ã¦ç§»åãããã¨ãè£å©ã§ãã¾ãããã®ã¢ããªã±ã¼ã·ã§ã³ã¯ãç»é²ã«ãã£ã¦ãããè¡ããã¦ã¼ã¶ã®ä½ç½®æ å ±ã®æ´æ°ãç¹°ãè¿ãåãåãããã«ã¸ã§ãªãã±ã¼ã·ã§ã³APIãç¨ãã¾ãããããã®æ´æ°ã¯ãå®è£ ãã¦ããã¦ã¼ã¶ã»ã¨ã¼ã¸ã§ã³ãããã¦ã¼ã¶ã®ä½ç½®ãå¤ãã£ãã¨å¤æããã¨ããã«ä¼ããããããã«ãã£ã¦ãã¢ããªã±ã¼ã·ã§ã³ã¯ãã¦ã¼ã¶ãè¡ãå¿ è¦ãããããæ¹å転æãäºæ¸¬ã§ããããã«ãªãã¾ãã
6.1.5 注ç®ãã¹ãå ´æãã¦ã¼ã¶ã®å¨è¾ºã«ããå ´åã®éç¥è¦³å ã¬ã¤ãã®ã¦ã§ãã»ã¢ããªã±ã¼ã·ã§ã³ã¯ãã¦ã¼ã¶ã®ä½ç½®ãã¢ãã¿ã¼ããæ³¨ç®ãã¹ãå ´æãå¨è¾ºã«ããã°ãè¦è¦ã¾ãã¯é³å£°ã«ããéç¥ãè¡ãããã«ã¸ã§ãªãã±ã¼ã·ã§ã³APIã使ç¨ã§ãã¾ããã¦ã¼ã¶ããããã¿ã¹ã¯ã«é¢é£ããç®æ¨ç©ã®è¿ãã«ããã°ããªã³ã©ã¤ã³ã»ã¿ã¹ã¯ç®¡çã·ã¹ãã ã¯ãªãã¤ã³ãã¼ãçºåã§ãã¾ãã
6.1.6 ææ°ãã¼ã«ã«æ å ±ã¦ã¼ã¶ãç¾å¨ããå°åã®å¤©æ°ããã¥ã¼ã¹ã表示ããã¦ã£ã¸ã§ãããªã©ã®ã¦ã§ãã»ã¢ããªã±ã¼ã·ã§ã³ã¯ãä½ç½®æ å ±æ´æ°ã®ç»é²æç¶ããè¡ãããã«ã¸ã§ãªãã±ã¼ã·ã§ã³APIã使ç¨ã§ãã¾ããã¦ã¼ã¶ã®ä½ç½®ãå¤ããã°ãã¦ã£ã¸ã§ããã¯ãããã«å¿ãã¦å 容ãé©å¿ããããã¨ãã§ãã¾ãã
ã½ã¼ã·ã£ã«ã»ãããã¯ã¼ã¯ã»ã¢ããªã±ã¼ã·ã§ã³ã§ã¯ãã¦ã¼ã¶ãä½ç½®æ å ±ãç¨ãã¦ã¹ãã¼ã¿ã¹ã®æ´æ°ãèªåçã«ã¿ã°ä»ãã§ãã¾ããããã¯ãã¸ã§ãªãã±ã¼ã·ã§ã³APIã§ã¦ã¼ã¶ã®ä½ç½®ãã¢ãã¿ã¼ãããã¨ã§è¡ãã¾ããåã ã®ã¦ã¼ã¶ã¯ãä»ã®ã¦ã¼ã¶ã¨å ±æããä½ç½®æ å ±ã®ç²åº¦(ä¾ãã°ãé½å¸ã¬ãã«ãè¿é£ã¬ãã«ã)ãã³ã³ããã¼ã«ã§ãã¾ããã¦ã¼ã¶ã¯ãå½¼ã®å人ã®ãããã¯ã¼ã¯ã追跡ããå½¼ãã®ç¾å¨ã®ä½ç½®ã«é¢ãããªã¢ã«ã¿ã¤ã ãªæ´æ°æ å ±ãå ¥æãããã¨ãã§ãã¾ãã
6.2 è¦ä»¶ 6.2.1 ã¸ã§ãªãã±ã¼ã·ã§ã³APIã¯ã緯度ã¨çµåº¦ã®å¯¾ã®åº§æ¨ã§ä½ç½®ãã¼ã¿ãæä¾ããªããã°ãªãã¾ããã 6.2.2 ã¸ã§ãªãã±ã¼ã·ã§ã³APIã¯ãåå¾ãããä½ç½®ãã¼ã¿ã®æ£ç¢ºãã«é¢ããæ å ±ãæä¾ããªããã°ãªãã¾ããã 6.2.3 ã¸ã§ãªãã±ã¼ã·ã§ã³APIã¯ããåçºãã®ä½ç½®æ´æ°ããµãã¼ãããªããã°ãªãã¾ããã 6.2.4 ã¸ã§ãªãã±ã¼ã·ã§ã³APIã¯ããã¹ãã£ã³ã°ã»ããã¤ã¹ã®ä½ç½®ãå¤ãã£ãæã«ãã¢ããªã±ã¼ã·ã§ã³ãæ´æ°ãåä¿¡ããããã«ç»é²ã§ããããã«ããªããã°ãªãã¾ããã 6.2.5 ã¸ã§ãªãã±ã¼ã·ã§ã³APIã¯ãã¢ããªã±ã¼ã·ã§ã³ããæå®ãããå¤ããããã£ãã·ã¥æéã大ãããªãããã£ãã·ã¥ãããä½ç½®ããªã¯ã¨ã¹ãã§ããããã«ããªããã°ãªãã¾ããã 6.2.6 ã¸ã§ãªãã±ã¼ã·ã§ã³APIã¯ãä½ç½®æ±ºå®æ å ±ãåå¾ãã¦ããéã«çºçããå¯è½æ§ãããã¨ã©ã¼ã«é¢ããæ´æ°ãã¢ããªã±ã¼ã·ã§ã³ãåãåãæ¹æ³ãæä¾ããªããã°ãªãã¾ããã 6.2.7 ã¸ã§ãªãã±ã¼ã·ã§ã³APIã¯ãã¢ããªã±ã¼ã·ã§ã³ãæã¾ããä½ç½®æ å ±ã®ç²¾åº¦ã¬ãã«ãæå®ã§ããããã«ããªããã°ãªãã¾ããã 6.2.8 ã¸ã§ãªãã±ã¼ã·ã§ã³APIã¯ãåºç¤ã¨ãªãä½ç½®æ å ±ã®æ å ±æºã«ã¨ãããã¦ã¯ãªãã¾ããã è¬è¾Alec BerntsonãAlissa CooperãSteve BlockãGreg BolsingaãLars Erik BolstadãAaron BoodmanãDave BurkeãChris ButlerãMax FroumentinãShyam HabarakadaãMarcin HanclikãIan HicksonãBrad LasseyãAngel MachinãCameron McCormackãDaniel ParkãStuart ParmenterãOlli PettayãChris PrinceãArun RanganathanãAza RaskinãCarl ReedãThomas RoesslerãDirk SegersãAllan ThomsonãMartin ThomsonãDoug TurnerãErik WildeãMatt WomerãMohamed Zergaoui
åèæç®RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3