Хочу добавить на сайт простейший информер погоды текущего местоположения. Для этого в качестве кросс-доменного api взял openweathermap, зарегистрировался в бесплатном аккаунте и получил api ключ, получаю такой json ответ при конкретном задании города (Лондон).
api.openweathermap.org/data/2.5/weather?q=London,uk
А как задавать погоду для текущего положения пользователя, к примеру если он в Буркина-Фасо и об этом известно только его браузеру?
Воспользоватся сервисом который по IP находит город, тоже не 100% точность, но думаю в большинстве случаев укажет верный город.
// Функция используется чисто чтобы определить IP.
function get_client_ip() {
$ipaddress = '';
if (isset($_SERVER['HTTP_CLIENT_IP']))
$ipaddress = $_SERVER['HTTP_CLIENT_IP'];
else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
$ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
else if(isset($_SERVER['HTTP_X_FORWARDED']))
$ipaddress = $_SERVER['HTTP_X_FORWARDED'];
else if(isset($_SERVER['HTTP_FORWARDED_FOR']))
$ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
else if(isset($_SERVER['HTTP_FORWARDED']))
$ipaddress = $_SERVER['HTTP_FORWARDED'];
else if(isset($_SERVER['REMOTE_ADDR']))
$ipaddress = $_SERVER['REMOTE_ADDR'];
else
$ipaddress = 'UNKNOWN';
return $ipaddress;
}
$ip = get_client_ip();
$geo = unserialize(file_get_contents("http://www.geoplugin.net/php.gp?ip=$ip"));
$country = $geo["geoplugin_countryCode"];
$city = $geo["geoplugin_city"];
В переменных те параметры что вам нужны, город и код страны.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости