使用 IP 进行地理定位
Geolocation using IP
我一直在尝试寻找一种工具来使用我的计算机定位我的位置 ip
。
我尝试了一些网络工具,例如 http://geoiplookup.net/
和 https://geoiptool.com/
以及一些开发人员工具,例如 freegeoip.net
,我对此更感兴趣。
事实是:地理位置 偏离 所有这些,至少我所在的地方(南美,巴西),都指向同样错误的位置.
为什么会这样?
我试过这段代码:
send_url = 'http://freegeoip.net/json'
r = requests.get(send_url)
j = json.loads(r.text)
lat = j['latitude']
lon = j['longitude']
return (lat, lon)
不过由于它用错了ip
所以returns有些奇怪lat/lgn
,离我好远。
1) 我可以在上面的代码中将我的确切 ip
作为参数传递吗?
2) 除了 googlemaps
之外,还有其他工具可以找出我精确的 lat, lng
吗?
与 GPS 或 WiFi MAC 地址等其他地理定位方法相比,IP 地址地理定位的准确性相对较低。原因是ISP频繁重新分配IP地址。
回到你的问题。
1) API 应该会自动检测您的 IP 地址并 return 您的估计位置
2) 如果不启用 GPS,您将无法找到准确的经纬度
的服务
一个检索位置、国家、城市、纬度、经度、ip 和州的小 jQuery 示例:
<!DOCTYPE html>
<html>
<head>
<title>GEOIP DB - jQuery example</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js">
</script>
</head>
<body>
<div>Country: <span id="country"></span>
<div>State: <span id="state"></span>
<div>City: <span id="city"></span>
<div>Latitude: <span id="latitude"></span>
<div>Longitude: <span id="longitude"></span>
<div>IP: <span id="IPv4"></span>
<script>
$.ajax({
url: "https://geoip-db.com/jsonp",
jsonpCallback: "callback",
dataType: "jsonp",
success: function( location ) {
$('#country').html(location.country_name);
$('#state').html(location.state);
$('#city').html(location.city);
$('#latitude').html(location.latitude);
$('#longitude').html(location.longitude);
$('#ip').html(location.IPv4);
}
});
</script>
</body>
</html>
我一直在尝试寻找一种工具来使用我的计算机定位我的位置 ip
。
我尝试了一些网络工具,例如 http://geoiplookup.net/
和 https://geoiptool.com/
以及一些开发人员工具,例如 freegeoip.net
,我对此更感兴趣。
事实是:地理位置 偏离 所有这些,至少我所在的地方(南美,巴西),都指向同样错误的位置.
为什么会这样?
我试过这段代码:
send_url = 'http://freegeoip.net/json'
r = requests.get(send_url)
j = json.loads(r.text)
lat = j['latitude']
lon = j['longitude']
return (lat, lon)
不过由于它用错了ip
所以returns有些奇怪lat/lgn
,离我好远。
1) 我可以在上面的代码中将我的确切 ip
作为参数传递吗?
2) 除了 googlemaps
之外,还有其他工具可以找出我精确的 lat, lng
吗?
与 GPS 或 WiFi MAC 地址等其他地理定位方法相比,IP 地址地理定位的准确性相对较低。原因是ISP频繁重新分配IP地址。
回到你的问题。
1) API 应该会自动检测您的 IP 地址并 return 您的估计位置
2) 如果不启用 GPS,您将无法找到准确的经纬度
一个检索位置、国家、城市、纬度、经度、ip 和州的小 jQuery 示例:
<!DOCTYPE html>
<html>
<head>
<title>GEOIP DB - jQuery example</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js">
</script>
</head>
<body>
<div>Country: <span id="country"></span>
<div>State: <span id="state"></span>
<div>City: <span id="city"></span>
<div>Latitude: <span id="latitude"></span>
<div>Longitude: <span id="longitude"></span>
<div>IP: <span id="IPv4"></span>
<script>
$.ajax({
url: "https://geoip-db.com/jsonp",
jsonpCallback: "callback",
dataType: "jsonp",
success: function( location ) {
$('#country').html(location.country_name);
$('#state').html(location.state);
$('#city').html(location.city);
$('#latitude').html(location.latitude);
$('#longitude').html(location.longitude);
$('#ip').html(location.IPv4);
}
});
</script>
</body>
</html>