【问题标题】:Finding the accurate location of a given IP address within 50miles在 50 英里范围内查找给定 IP 地址的准确位置
【发布时间】:2013-03-11 12:28:42
【问题描述】:

在我的页面中,我使用了查找给定 IP 地址的地理位置的功能。这将返回带有邮政编码的特定位置的结果。

但是这个邮政编码并不准确。我从编码中得到的邮政编码与实际位置的差异大约有 200 多英里。我使用了 ip2location 网站上的以下代码。

require_once('ip2location.class.php');

$ip = new ip2location;
$ip->open('./databases/IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE-ISP-DOMAIN-NETSPEED-AREACODE-WEATHER-MOBILE-SAMPLE.BIN');

$record = $ip->getAll('50.178.183.243');

echo '<b>IP Address:</b> ' . $record->ipAddress . '<br>';
echo '<b>IP Number:</b> ' . $record->ipNumber . '<br>';
echo '<b>Country Short:</b> ' . $record->countryShort . '<br>';
echo '<b>Country Long:</b> ' . $record->countryLong . '<br>';
echo '<b>Region:</b> ' . $record->region . '<br>';
echo '<b>City:</b> ' . $record->city . '<br>';
echo '<b>ISP/Organisation:</b> ' . $record->isp . '<br>';
echo '<b>Latitude:</b> ' . $record->latitude . '<br>';
echo '<b>Longitude:</b> ' . $record->longitude . '<br>';
echo '<b>Domain:</b> ' . $record->domain . '<br>';
echo '<b>ZIP Code:</b> ' . $record->zipCode . '<br>';
echo '<b>Time Zone:</b> ' . $record->timeZone . '<br>';
echo '<b>Net Speed:</b> ' . $record->netSpeed . '<br>';
echo '<b>IDD Code:</b> ' . $record->iddCode . '<br>';
echo '<b>Area Code:</b> ' . $record->areaCode . '<br>';
echo '<b>Weather Station Code:</b> ' . $record->weatherStationCode . '<br>';
echo '<b>Weather Station Name:</b> ' . $record->areaCode . '<br>';
echo '<b>MCC:</b> ' . $record->mcc . '<br>';
echo '<b>MNC:</b> ' . $record->mnc . '<br>';
echo '<b>Mobile Brand:</b> ' . $record->mobileBrand . '<br>';
?>

我在很多网站上尝试过编码,例如

但我没有得到实际结果。在上述网站中未找到给定 IP 地址的准确邮政编码。任何人都可以帮助我解决这个问题。感谢您阅读并提前解决此问题。

【问题讨论】:

  • 你试过Geocoder吗?
  • 不,我没有看到地理编码器

标签: php map ip-address zipcode


【解决方案1】:

这在设计上是模糊的,您无法轻松解决。基于 IP 的地理定位服务只能使用他们从服务器到目标 IP 的各个点猜测的位置信息。 (当您在控制台上执行traceroute &lt;targetip&gt; 时,您可以看到这些要点)。 IP 地理位置的精确程度取决于您用户的 ISP 架构,结果在某些地区可能,但在其他地区(尤其是城市)则相当准确。

如果您非常需要准确的地理位置,请使用client-side HTML 5 geolocation。但是,这需要用户的同意,并且如果客户端设备没有 GPS,也可能不精确。

【讨论】:

  • 哦!感谢您的出色回答。我将尝试客户端 HTML 5 地理位置
  • @Rithu 那么您的设备可能没有任何方法来确定其位置。 why the html5 geolocation fails to get results?
  • @Rithu 我得到了一个很好的结果:maxheapsize.com/static/html5geolocationdemo.html(在 Macbook 上,没有 GPS,精度 20
  • 我们必须在那个搜索框中输入什么
  • @Rithu none - 您的浏览器应该询问您是否可以告诉网站您的位置。 (至少 Chrome 和 Firefox)。然后您应该会在地图上看到您的位置。
猜你喜欢
  • 2017-05-28
  • 2011-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-22
  • 1970-01-01
  • 2018-10-08
  • 2013-11-23
相关资源
最近更新 更多