0%

jQuery通过Google谷歌API获取本地地址及IP

我们可以利用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的所在地。