2013-03-11 68 views
1

在我的頁面中,我使用了查找給定IP地址的Geolocation的功能。這將返回郵政編碼特定位置的結果。查找50英里範圍內的給定I​​P地址的準確位置

但這個郵政編碼是不準確的。我從編碼和真實位置獲得的郵編差異大約超過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地址的上述網站中找不到準確的郵政編碼。任何人都可以幫助我解決這個問題。感謝您閱讀並提前解決此問題。

+1

您是否嘗試過使用[Geocoder](http://geocoder-php.org/)? – j0k 2013-03-11 12:35:14

+0

不,我沒有看到Geocoder – Rithu 2013-03-11 12:36:37

回答

5

這是朦朧的設計,它沒什麼可以輕鬆修復的。基於IP的地理位置服務只能使用他們從服務器到目標IP的各個點所猜測的位置信息。 (當您在控制檯上執行traceroute <targetip>時,您可以看到這些點)。確切的IP地理位置取決於用戶的ISP架構,結果可能是方式在某些地區關閉,但在其他地區(尤其是城市)非常確切。

如果您認真需要確切的地理位置,請使用client-side HTML 5 geolocation。但是,這需要用戶的同意,並且如果客戶端設備沒有GPS,也可能不精確。

+0

哦!謝謝你的偉大答案。我會嘗試客戶端的HTML 5地理位置 – Rithu 2013-03-11 12:42:34

+0

但它顯示「尋找您的位置:失敗」像那 – Rithu 2013-03-11 12:47:21

+0

@Rithu那麼你的設備可能沒有任何方法來確定它的位置。 [爲什麼html5地理位置無法獲得結果?](http://stackoverflow.com/q/13109696) – 2013-03-11 13:02:46