Если вы ещё не исчерпали лимит бесплатных запросов или оплатили платный пакет провайдеру geo данных из тех, что есть в Битриксе из коробки (ниже используем бесплатную часть Sypex), то запрос:
use \Bitrix\Main\Service\GeoIp;
$result = GeoIp\Manager::getDataResult('178.219.187.10', 'en');
if ($result->isSuccess()) {
$obGeoData = $result->getGeoData();
print_r($obGeoData);
}
даст вам такой ответ:
[ip] => 178.219.187.10
[lang] => en
[countryName] => Russia
[regionName] => Moskva
[subRegionName] =>
[cityName] => Moscow
[countryCode] => RU
[regionCode] => RU-MOW
[zipCode] =>
[latitude] => 55.75222
[longitude] => 37.61556
[timezone] => Europe/Moscow
[asn] =>
[ispName] =>
[organizationName] =>
[handlerClass] => Bitrix\Main\Service\GeoIp\SypexGeo
заменив 'en' на 'ru' в запросе, получите:
[ip] => 178.219.187.10
[lang] => ru
[countryName] => Россия
[regionName] => Москва
[subRegionName] =>
[cityName] => Москва
[countryCode] => RU
[regionCode] => RU-MOW
[zipCode] =>
[latitude] => 55.75222
[longitude] => 37.61556
[timezone] => Europe/Moscow
[asn] =>
[ispName] =>
[organizationName] =>
[handlerClass] => Bitrix\Main\Service\GeoIp\SypexGeo