Как узнать ближайшую станцию метро к определённому адресу?
$address = 'ул. Габричевского, 8';
echo findMetro($address); // Щукинская

function findMetro($address) {
    // Определение координат заданного адреса
    $address = str_replace(' ', '%20', $address);
    $contentGeocoder = file_get_contents("https://maps.googleapis.com/maps/api/geocode/json?key=QWERTY1234&address=Москва,%20$address"); // ключ получил на console.developers.google.com/apis
    $jsonGeocoder = json_decode($contentGeocoder, true);
    $latitudeFrom = $jsonGeocoder["results"][0]["geometry"]["location"]["lat"];
    $longitudeFrom = $jsonGeocoder["results"][0]["geometry"]["location"]["lng"];

    // Подключение к базе данных с таблицей метро
    include '../php/db_connection.php';
    $link = mysqli_connect($host, $user, $password, $database) or die("Не удалось подключиться к базе данных");

    // Определение ближайшего метро путём перебора
    $min = 10000000;
    for($metroI = 1; $metroI <= 250; $metroI++) {
        // Запрос на выборку для определения координат и названия станции метро
        $result = mysqli_query($link, "SELECT name, latitude, longitude FROM metro WHERE id = $metroI");
        $row = mysqli_fetch_assoc($result);

        // Вычисление расстояния между заданным адресом и станцией метро по формуле Хаверсина
        $latFrom = deg2rad($latitudeFrom);
        $lonFrom = deg2rad($longitudeFrom);
        $latTo = deg2rad($row[latitude]);
        $lonTo = deg2rad($row[longitude]);
        $latDelta = $latTo - $latFrom;
        $lonDelta = $lonTo - $lonFrom;
        $angle = 2 * asin(sqrt(pow(sin($latDelta / 2), 2) + cos($latFrom) * cos($latTo) * pow(sin($lonDelta / 2), 2)));
        $distance = $angle * 6371000;

        // Если расстояние до станции метро меньше, чем минимальное найденное,— назначаем его минимальным, запоминаем название
        if($distance < $min) {
            $min = $distance;
            $closestMetro = $row[name];
        }
    }
    return $closestMetro;
}Таблица БД с метро: название станции, координаты по широте, долготе
Станций метро конечное число, я складывал их координаты в базу, а потом по методу гипотенузы вычислял  расстояния в попугаях от нужной точки до разных станций и брал ближайшие в определенном радиусе.
Даже можно без базы решить, будет еще быстрее и более автономно. Даже без бэкенда можно, если на то пошло.