Как эффективно определить город пользователя?


Этот вопрос может выглядеть как дублирующий, но существующие вопросы не разрешили мою потребность.

Я проверил так много вопросов по этой теме в Stackoverflow и в Google, но не смог найти эффективный метод. Почти во всех темах люди предлагали этот сайт http://www.hostip.info / для определения местоположения пользователя. И когда я пытаюсь проверить этот сайт, он говорит мне: "Понятия не имею о вашем местоположении". И на некоторых других сайтах мой город определяется на основе моего IP-адрес, и он неправильный.

Но в google.com или bing.com, сайты точно определили мое местоположение. Как они это делают? Как я могу точно определить местоположение посетителя (достаточно просто указать город)? И на некоторых сайтах я видел, как Google Chrome задает мне вопрос: "Разрешите этому сайту поделиться вашим местоположением". Как они используют эту функцию?

Author: Viswalinga Surya S, 2013-10-08

3 answers

Ответ "ПО IP-АДРЕСУ МАШИНЫ/ГЕОГРАФИЧЕСКОМУ МЕСТОПОЛОЖЕНИЮ"

Для выполнения такой задачи очень легко есть плагин, написанный на php,

Шаг-1) Загрузите плагин из здесь.

Шаг-2) Небольшой фрагмент кода

<?php
    require_once('geoplugin.class.php');
    $geoplugin = new geoPlugin();
    $geoplugin->locate();

    echo "Geolocation results for {$geoplugin->ip}: <br />\n".
        "City: {$geoplugin->city} <br />\n".
        "Region: {$geoplugin->region} <br />\n".
        "Area Code: {$geoplugin->areaCode} <br />\n".
        "DMA Code: {$geoplugin->dmaCode} <br />\n".
        "Country Name: {$geoplugin->countryName} <br />\n".
        "Country Code: {$geoplugin->countryCode} <br />\n".
        "Longitude: {$geoplugin->longitude} <br />\n".
        "Latitude: {$geoplugin->latitude} <br />\n".
    "Currency Code: {$geoplugin->currencyCode} <br />\n".
    "Currency Symbol: {$geoplugin->currencySymbol} <br />\n".
    "Exchange Rate: {$geoplugin->currencyConverter} <br />\n";
?>

Для получения более подробной информации посетите веб-сайт плагина: нажмите здесь.

ПРИМЕЧАНИЕ: Если вы хотите сделать то же самое своим способом, вам нужны данные о местоположении IP -адресов. Затем, после того, как вы сможете его найти.

 5
Author: Hardik Thaker, 2013-10-08 12:17:13

Легкий и простой код для определения города или страны я надеюсь помочь вам

    $geoplugin = unserialize( file_get_contents('http://www.geoplugin.net/php.gp?ip=' . $_SERVER['REMOTE_ADDR']) );
   echo ("<h1>".$geoplugin['geoplugin_countryCode']."</h1> <br>");
   echo ("<h1>".$geoplugin['geoplugin_countryName']."</h1> <br>");
   echo ("<h1>".$geoplugin['geoplugin_regionCode']."</h1> <br>");
   echo ("<h1>".$geoplugin['geoplugin_regionName']."</h1><br>");
   echo ("<h1>".$geoplugin['geoplugin_currencyCode']."</h1><br>");
   echo ("<h1>".$geoplugin['geoplugin_currencySymbol']."</h1><br>");
   echo ("<h1>".$geoplugin['geoplugin_currencySymbol_UTF8']."</h1><br>");
   echo ("<h1>".$geoplugin['geoplugin_currencyConverter']."</h1>");
 0
Author: Said Erraoudy, 2015-06-15 12:34:26