Поиск расстояния между двумя адресами при помощу Google API и PHP

Компьютерное

В этой статье я расскажу как найти расстояние между двумя адресами. Это можно сделать используя api карт Google и PHP.

API предоставляемый Google позволяет вычислять расстояние между двумя точками, а так же время в пути для преодоления этого расстояния.

Формат для задания точек:

  • Название места (например Bhopal,India)
  • Почтовый индекс  (например 462016)
  • Координаты широты/долготы (например23.77xxx, 77.30xxx)

Для того чтобы больше узнать о разрешенных форматах посетите официальную страницу документации Google.

Поиск расстояния между двух адресов

Шаг 1. Получение ключа API.

Получите ключ API на этой странице.

Нажмите кнопку — Получение ключа.

Изображение 1

Далее нажмите +Create new project

Иллюстрация 2

Далее введите название проекта:

Изображение 3

После этого будет показано окно в котором будет указан ваш ключ API.

Иллюстрация 4

Шаг 2. Исходный код.

Пример как это работает можно посмотреть здесь.

<!DOCTYPE html>
<html>
    <body>

        <form action="" method="post">

            <label>Местоположение:</label> <input type="text" name="o" placeholder="Введите местоположение" required> <br><br>
            <label>Место назначения:</label> <input type="text" name="d" placeholder="EВведите место назначения" required> <br><br>
            <input type="submit" value="Вычисить расстояние и время" name="submit"> <br><br>

        </form>

        <?php
            if(isset($_POST['submit'])){
            $origin = $_POST['o']; $destination = $_POST['d'];
            $api = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&language=ru&origins=".$origin."&destinations=".$destination."&key=YOUR_API_KEY");
            $data = json_decode($api);
        ?>

            <label><b>Расстояние: </b></label> <span><?php echo ((int)$data->rows[0]->elements[0]->distance->value / 1000).' км'; ?></span> <br><br>
            <label><b>Время в пути: </b></label> <span><?php echo $data->rows[0]->elements[0]->duration->text; ?></span> 

        <?php } ?>

    </body>
</html>

 

замените в коде приведенном выше YOUR_API_KEY на ваш ключ API  (из шага 1) .

 

Оцените статью
( 4 оценки, среднее 4 из 5 )
Блог админа