第23回HTML5とか勉強会のUstãè¦ã¦ãããFirefoxã§ã¯7ãããGeolocation API Specification Level 2ãã¨ããä»æ§ã«å¯¾å¿ãã¦ãã¦ä½æã®åå¾ãå¯è½ã¨ãã話ãåºã¾ãããããã¯é¢ç½ããã¨æããæ©é試ãã¦ã¿ãäºã«ãã¾ããã
Geolocation API Specification Level 2
http://dev.w3.org/geo/api/spec-source-v2#address_interface
ã¾ãã¯ãµã³ãã«ç¡ãããªï¼ã¨æ¤ç´¢ããæããã¡ãã®ããã°ãè¦ã¤ããã¾ããã
Using Firefox's Geolocation API
http://davidwalsh.name/geolocation-api
ãã¡ããåèã«ä½æããã®ãこのページãFirefoxã§ã¢ã¯ã»ã¹ãã¦ä¸ããã
ã¢ã¯ã»ã¹ããã¨ãããªè¡¨ç¤ºãåºã¾ããä½ç½®æ
å ±ãéä¿¡ãã¦ãè¯ãå ´åã¯ã許å¯ããã¿ã³ãæ¼ãã¦ä¸ããããã¡ããã許å¯ãããªãå ´åã¯ä½æã®åå¾ã¯åºæ¥ã¾ããã
ã¡ãªã¿ã«ä½ç½®æ å ±ãåå¾ããä»çµã¿ã¯Firefoxã®å ´åã¯ä»¥ä¸ã®æ§ã«ãªã£ã¦ããã¿ããã§ãã
ç¥ããããã¨ã許å¯ããå ´åãFirefox ã¯è¿é£ã®ç¡ç· LAN ã¢ã¯ã»ã¹ãã¤ã³ãã«é¢ããæ å ±ã¨ãããªãã®ã³ã³ãã¥ã¼ã¿ã«å²ãå½ã¦ããã¦ãã IP ã¢ãã¬ã¹ãåéãã¾ãããããã Firefox ã¯ãã®æ å ±ãæ¢å®ã®ä½ç½®æ å ±ãµã¼ãã¹ãããã¤ãã§ãã Google Location Service ã¸éä¿¡ããæ¨æ¸¬ãããããªãã®ç¾å¨å°ãåå¾ãã¾ããããã¦ãã®ä½ç½®æ å ±ããæ å ±ãæ±ãã¦ããå ã®ãµã¤ãã«ç¥ãããã¾ãã
ç¥ããããã¨ã許å¯ããªãã£ãå ´åã¯ãFirefox ã¯ä½ããã¾ããã
ãã¹ãã¨ãã¦ååä½é§
(æ±äº¬é½è¶³ç«åºåä½æçºï¼ï¼âï¼)ã§ã¢ãã¤ã«ã«ã¼ã¿ã使ããUQ WiMaxã®ãããã«ã¦è©¦ããçµæã¯ãããªãã¾ããã
â»ä»ã®å ´æã§ãã¹ãããæã« street ã®å±æ§ã«ã¤ãã¦ã¯å¤ãå
¥ã£ã¦ããäºãæãã¾ããããã㧠null ã«ãªã£ã¦ãããã®ä»ã®å±æ§ã¯ä»ã®å ´æã§ãå¤ãå
¥ã£ã¦ããäºã¯æãã¾ããã§ããã
Firefoxã«ã¯ãGeolocation API Specification Level 2ãã«ã¯è¨è¼ã®ç¡ã countryCode ã¨ããå±æ§ãåå¨ããã¿ããã§ãã
å¤ã¨ãã¦ã¯æ¥æ¬ã®å ´å㯠JP ãè¿ã£ã¦ããã¿ããã§ãã
ãGeolocation API Specification Level 2ããèªã㨠country ã®å±æ§ã¯ãISO 3166-1ã®ã³ã¼ã2æåã使ç¨ãã¦æå®ãã¨æ¸ããã¦ããã®ã§ããFirefoxã§ã¯ãæ¥æ¬ãã¨ããå¤ã«ãªã£ã¦ãã¾ããããã§æ¸ããã¦ãããã®ã¯Firefoxã®å ´å㯠countryCode ã§åå¾ããäºã«ãªãã¿ããã§ãã
HTMLã®å 容
<!DOCTYPE html> <head> <meta charset="UTF-8"> <title>ç¾å¨å°ã®ä½æãåå¾</title> <script> function output(msg) { var res = document.getElementById('res'); res.innerHTML = msg; } window.addEventListener('load', function() { var msg = ""; if(navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { var msg = ""; msg += 'ã緯度çµåº¦ã<br>' + position.coords.latitude + ', ' + position.coords.longitude + '<br><br>'; msg += 'ãä½æã' + '<br>'; if (position.address) { msg += 'country : ' + position.address.country + '<br>'; msg += 'region : ' + position.address.region + '<br>'; msg += 'county : ' + position.address.county + '<br>'; msg += 'city : ' + position.address.city + '<br>'; msg += 'street : ' + position.address.street + '<br>'; msg += 'streetNumber : ' + position.address.streetNumber + '<br>'; msg += 'premises : ' + position.address.premises + '<br>'; msg += 'postalCode : ' + position.address.postalCode + '<br>'; msg += '<br><br>'; msg += 'countryCode : ' + position.address.countryCode + '<br>'; } else { msg += '[åå¾åºæ¥ã¾ããã§ãã]<br>'; } output(msg); }); } }, false); </script> </head> <body> â»ãã®ãã¼ã¸ã¯Firefoxã§éãã¦ä¸ããã<br> <div id="res"></div> </body> </html>
åå¾ã§ããå¤ã®èª¬æ
å±æ§ | å 容 | ãã¼ã¿ä¾ |
---|---|---|
country | å½ | æ¥æ¬ |
region | å°å(é½éåºçãç±³å½ã®å·åãªã©) | æ±äº¬é½ |
county | regionãã大ããç¯å²ãæã¤ã¨ãªã¢ã®å称 | |
city | é½å¸å | 足ç«åº |
street | éãã®åå | ï¼ä¸ç® |
streetNumber | çªå° | ï¼ï¼ |
premises | æ·å°ã建ç©ãªã©ã®åå | ã |
postalCode | éµä¾¿çªå· | ã |
countryCode | å½ã³ã¼ã | JP |
é¢é£æ å ±
address.city
http://www.azarask.in/blog/post/firefox-geolocation-js-library/