Как я могу узнать местоположение пользователя? - PullRequest
1 голос
/ 19 июля 2011

Я пытаюсь выяснить, как я могу получить город и штат, в котором находится пользователь. Как я могу это сделать? Должен ли я использовать JavaScript, PHP?

Ответы [ 5 ]

4 голосов
/ 19 июля 2011

Зависит от того, насколько кроссплатформенным вы хотите быть.В HTML5 есть Геолокационный API .Я бы рекомендовал использовать это, если вам не нужна поддержка всех браузеров IE, и вы ищете решение HTML5.

Отредактировано, чтобы добавить гораздо более дружественную для разработчика ссылку .

1 голос
/ 19 июля 2011

Я обычно использую ipinfodb для PHP, где вы получаете информацию о пользователе на основе IP.Я нахожусь в Швеции, и я нахожу это очень точным даже здесь.Хотя всегда есть проблема, когда интернет-провайдеры скрывают местоположение своих клиентов, но это не имеет ничего общего с точностью API.

0 голосов
/ 02 апреля 2015
$country=file_get_contents('http://api.hostip.info/get_html.php?ip=');
echo $country;

// Reformat the data returned (Keep only country and country abbr.)
$only_country=explode (" ", $country);

echo "Country : ".$only_country[1]." ".substr($only_country[2],0,4);
0 голосов
/ 19 июля 2011

Вероятно, PHP, если вы хотите сохранить его или что-то еще.Я нашел это на каком-то форуме после поиска в Google и изменил его.Я не уверен, насколько он точен, но он находит мое местоположение с точностью до одного часа езды.

<?

    $ip = $_SERVER['REMOTE_ADDR'];

    if (!empty($IP)) {
        $location=file_get_contents('http://api.hostip.info/get_html.php?ip='.$ip);

        list($country, $city) = explode("\n", $location);
        list($country, $code) = explode(' (', $country);
        list($city, $state) = explode(', ', $city);
        $code = substr($code, 0, 2);
        $country = ucfirst(strtolower(str_replace("Country: ", "", $country)));
        $city = ucfirst(strtolower(str_replace("City: ", "", $city)));
    }

echo 'Country: '.$country.'<br />';
echo 'City: '.$city.'<br />';
echo 'State: '.$state.'<br />';
echo 'Country Code: '.$code.'<br />';

?>

Не уверен, что оно актуально.

0 голосов
/ 19 июля 2011

Вам нужно будет использовать API геолокации javascript , чтобы найти пользователя, а затем сделать AJAX-вызов PHP или другого серверного сценария для хранения информации о местоположении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...