我们可以利用PC的浏览器来获得具体的位置情报,主要是利用Google Maps和JSON的外部服务来制作。
IP地址的取得
google谷歌已经为我们提供了获取IP地址的服务,我们可以直接利用,首先先添加google谷歌的AJAX API
通过这个API,我们可以获得经度,纬度,国家名,都市名称等信息。
实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript"> <!-- google.load("maps", "2", {"language" : "zh_CN"}); function getLocation() { // Google API var cl = google.loader.ClientLocation; var message = ""; if(cl !== null){ message = "* 当前位置信息取得成功 *"; // HTML表示の更新 document.getElementById("latitude").innerHTML = cl.latitude; document.getElementById("longitude").innerHTML = cl.longitude; document.getElementById("country_code").innerHTML = cl.address.country_code; document.getElementById("country").innerHTML = cl.address.country; document.getElementById("region").innerHTML = cl.address.region; document.getElementById("city").innerHTML = cl.address.city; }else{ message = "* 当前位置信息取得失败 *"; } document.getElementById("message").innerHTML = message; } google.setOnLoadCallback(getLocation); //--> </script> </head>
<body> <h2>IP地址获取</h2> 此实例为通过Google谷歌API来获取IP地址<br> <hr> <div id="message">网络没有连接或是javascript不支持</div> <table summary="取得地址情报"> <tr><td>纬度:</td><td id="latitude">--</td></tr> <tr><td>经度:</td><td id="longitude">--</td></tr> <tr><td>ISO 3166-1 国家代码:</td><td id="country_code">--</td></tr> <tr><td>国家名称:</td><td id="country">--</td></tr> <tr><td>国家地名:</td><td id="region">--</td></tr> <tr><td>城市名:</td><td id="city">--</td></tr> </table> <hr> </body> </html>
|
*经测试,使用VPN的时候不能正确显示VPN指定IP的所在地。