SteelMonk
@SteelMonk
Веб-разработчик

Можно ли из данных координат ширины и долготы получить название города?

Приветствую!

Имеется поле для ввода адреса, которое привязано к API карт Google. В шаблоне выводится адрес как текст и виджет карты. Есть возможность преобразования значений и поля адрес в ширину и долготу. Нужна возможность отдельно вывести только город, чтобы не делать отдельную таксономию.
  • Вопрос задан
  • 938 просмотров
Решения вопроса 1
BOOMER_74
@BOOMER_74
Full-Stack разработчик
Это называется geocoding.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SteelMonk
@SteelMonk Автор вопроса
Веб-разработчик
Возможно кому то пригодится, выложу тут рабочий код.

$geo = ""; // указываем источник адреса, например значение поля, шорткод
$gmap_api = "http://maps.googleapis.com/maps/api/geocode/json?sensor=false&language=ru&address=".urlencode($geo); // обращаемся к API
$request = file_get_contents($gmap_api); // обрабатываем результат
$jsondata = json_decode($request, true); // декодируем данные json
foreach ($jsondata["results"] as $result) { // получаем то что нам нужно
foreach ($result["address_components"] as $address) {
        if (in_array("locality", $address["types"])) {
            $city = $address["long_name"];
        }
    }
}
return $city; // готово
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы