Уровень кодирования : начинающий
 Продолжительность : 10 минут
 Тип проекта : Пользовательская функция и автоматизация с пользовательским меню
Цели
- Поймите, что делает решение.
 - Понять, какие функции выполняют службы Apps Script в рамках решения.
 - Настройте сценарий.
 - Запустите скрипт.
 
Об этом решении
Используя пользовательские функции, вы можете рассчитать расстояние между двумя точками и перевести его из метров в мили. Дополнительная функция автоматизации предоставляет пользовательское меню, позволяющее добавлять пошаговые инструкции от начального адреса до конечного на новом листе.


Как это работает
Скрипт использует 2 пользовательские функции и автоматизацию.
-  Функция 
drivingDistance(origin, destination)использует сервис Карт для расчета маршрутов проезда между двумя точками и возвращает расстояние между двумя адресами в метрах. -  Функция 
metersToMiles(meters)вычисляет эквивалентное количество миль для заданного количества метров. - Автоматизация предлагает пользователю ввести строку начального и конечного адресов, для которой требуется рассчитать маршрут проезда, и добавляет пошаговые инструкции проезда на новый лист.
 
Службы скриптов приложений
Это решение использует следующие сервисы:
- Служба электронных таблиц — добавляет пользовательское меню, добавляет демонстрационные данные для тестирования этого решения и форматирует новые листы, когда скрипт добавляет маршруты проезда.
 -  Базовая служба – использует класс 
Browser, чтобы предложить пользователю ввести номер строки для указания маршрута и оповестить пользователя в случае возникновения ошибки. - Служба Utilities – обновляет шаблонные строки указанной пользователем информацией.
 - Сервис «Карты» — получает пошаговые инструкции Google Maps от начального адреса до конечного адреса.
 
Предпосылки
Для использования этого образца вам необходимы следующие предварительные условия:
- Учетная запись Google (для учетных записей Google Workspace может потребоваться одобрение администратора).
 - Веб-браузер с доступом в Интернет.
 
Настройте сценарий
-  Создайте копию таблицы «Расчёт расстояния поездки и перевод метров в мили» . Проект Apps Script для этого решения прикреплён к таблице.
Сделать копию - Чтобы добавить заголовки и демонстрационные данные на лист, нажмите «Указания» > «Подготовить лист» . Для появления этого пользовательского меню может потребоваться обновить страницу.
 При появлении запроса авторизуйте скрипт. Если на экране согласия OAuth отображается предупреждение « Это приложение не проверено» , выберите «Дополнительно» > «Перейти к {Имя проекта} (небезопасно)» .
Снова нажмите «Направления» > «Подготовить лист» .
Запустить скрипт
-  В ячейке 
C2введите формулу=DRIVINGDISTANCE(A2,B2)и нажмите Enter . Если вы находитесь в регионе, где используются десятичные дроби, вам может потребоваться ввести=DRIVINGDISTANCE(A2;B2). -  В ячейке 
D2введите формулу=METERSTOMILES(C2)и нажмите Enter . -  (Необязательно) Добавьте дополнительные строки начальных и конечных адресов и скопируйте формулы из столбцов 
CиD, чтобы рассчитать расстояние между различными местами. - Нажмите «Указания» > «Создать пошаговое руководство» .
 - В диалоговом окне введите номер строки адресов, для которых вы хотите создать маршруты, и нажмите кнопку ОК .
 - Проверьте инструкции по проезду на новом листе, созданном сценарием.
 
Проверьте код
Чтобы просмотреть код Apps Script для этого решения, нажмите «Просмотреть исходный код» ниже:
Посмотреть исходный код
Код.gs
Авторы
Этот образец поддерживается компанией Google с помощью экспертов Google Developer Experts.