Как эффективно определить город пользователя?
Этот вопрос может выглядеть как дублирующий, но существующие вопросы не разрешили мою потребность.
Я проверил так много вопросов по этой теме в Stackoverflow и в Google, но не смог найти эффективный метод. Почти во всех темах люди предлагали этот сайт http://www.hostip.info / для определения местоположения пользователя. И когда я пытаюсь проверить этот сайт, он говорит мне: "Понятия не имею о вашем местоположении". И на некоторых других сайтах мой город определяется на основе моего IP-адрес, и он неправильный.
Но в google.com или bing.com, сайты точно определили мое местоположение. Как они это делают? Как я могу точно определить местоположение посетителя (достаточно просто указать город)? И на некоторых сайтах я видел, как Google Chrome задает мне вопрос: "Разрешите этому сайту поделиться вашим местоположением". Как они используют эту функцию?
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 -адресов. Затем, после того, как вы сможете его найти.
Легкий и простой код для определения города или страны я надеюсь помочь вам
$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>");