Геолокация иногда не работает

Я использую скрипт географического местоположения на своем сайте для создания местоположения страны и города, которое отображается в предложении, когда пользователи посещают мою страницу.
Однако функция работает не так, как задумано, и иногда выдает не ту страну и город.

Это код для скрипта геолокации:
<script>jQuery.ajax({url:"//freegeoip.net/json/",type:"POST",dataType:"jsonp",success:function(b){jQuery("#findcity").html(b.city);jQuery("#region-code").html(b.region_code);jQuery("#region-name").html(b.region_name);jQuery("#areacode").html(b.areacode);jQuery("#ip").html(b.ip);jQuery("#zipcode").html(b.zipcode);jQuery("#longitude").html(b.longitude);jQuery("#latitude").html(b.latitude);jQuery("#findcountry").html(b.country_name);jQuery("#country-code").html(b.country_code)}});</script>

Следующая строка кода должна выделить страну и город в предложении в теге body.
<h4 itemprop=headline align=center>Hello my <span id=findcountry></span> friend, how is <span id=findcity></span> today have got an awesome offer for you.</h4>

В настоящее время freegeoip.net — это то место, откуда вызываются данные о стране и городе, но в настоящее время они часто отключаются и из-за этого приводят к опечатке в предложении.

Есть ли лучшее решение там?

-4

Решение

Попробуйте этот код:

Примечание: создайте свой ключ API от ВОТ

        $remoteIp = $_SERVER['HTTP_HOST'];
$geoLocationUrl="http://api.db-ip.com/addrinfo?   addr=$remoteIp&api_key='YOUR API KEY'";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $geoLocationUrl);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

$auth = curl_exec($curl);
if($auth)
{
$json = json_decode($auth,true);
echo $address =  $json['address'];
echo $country =$json['country'];
echo $state =$json['stateprov'];
echo $city =$json['city'];
}
else{
echo 'ERRROR';

}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]