2013-03-11 2 views
1

내 페이지에서 주어진 IP 주소의 Geolocation을 찾는 기능을 사용했습니다. 이것은 zipcode가있는 특정 위치의 결과를 반환합니다.주어진 IP 주소의 정확한 위치 찾기 50mile 이내

하지만이 우편 번호는 정확하지 않습니다. 코딩과 실제 위치에서 얻은 우편 번호의 차이는 약 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>'; 
?> 

나는 그런

로 많은 웹 사이트에서 코딩을 시도하지만 t을하지 않았다 그는 실제 결과. 주어진 IP 주소에 대해 위의 웹 사이트에서 정확한 우편 번호를 찾을 수 없습니다. 아무도 내가이 문제를 해결하도록 도울 수 있습니다. 이 문제를 미리 읽고 해결해 주셔서 감사합니다.

+1

[Geocoder] (http://geocoder-php.org/)를 사용해 보셨습니까? – j0k

+0

아니요, 지오 코더를 보지 못했습니다. – Rithu

답변

5

이것은 디자인 상 헷갈리는 부분이며 쉽게 수정할 수있는 부분이 아닙니다. IP 기반 위치 정보 서비스는 서버에서 대상 IP까지 다양한 지점에서 추측 할 수있는 위치 정보 만 사용할 수 있습니다. 콘솔에서 traceroute <targetip>을 수행하면 해당 지점을 볼 수 있습니다. 정확한 IP 위치 정보는 사용자의 ISP 아키텍처에 따라 달라지며 일부 지역에서는 방법이 될 수 있지만 다른 지역 (특히 도시)에서는 정확할 수 있습니다.

정확한 지오 로케이션이 중요하면 client-side HTML 5 geolocation을 사용하십시오. 그러나 사용자의 동의가 필요하며 클라이언트 장치에 GPS가없는 경우 부정확 할 수 있습니다.

+0

오! 좋은 답변 주셔서 감사합니다. 클라이언트 측 HTML 5 geolocation을 시도 할 것입니다. – Rithu

+0

그러나 "위치 찾기 중 : 실패했습니다"라는 메시지는 – Rithu

+0

@Rithu입니다. 그러면 기기에 위치 확인 방법이 없을 수도 있습니다. [html5 geolocation이 결과를 얻지 못하는 이유는 무엇입니까?] (http://stackoverflow.com/q/13109696) –

관련 문제