Передача переменной из 1 функции в другую

Доброго времени суток всем. Я как человек далекий от программирования, хотел бы узнать как мне решить данный ребус. Весь код, MAP.API яндекс карт. В конце JS кода, менял только условия вычисления, и проделывал попытки вынести заветную переменную length из другой функции, в <span> в другой контейнер. Как можно это реализовать, для того чтобы уже проводить махинации с этой переменной. Мне нужно вывести дистанцию в отдельную функцию, переменную чтобы уже оттуда выполнять действия над переменной. Я так понял, API карт, не дает в одном и том же коде добавлять другие элементы(я пытался вывести в <span> но он просто не отображается, либо уходит под карту(это неизвестно).

ymaps.ready(init);

function init() {
  // Стоимость за километр.
  var DELIVERY_TARIFF = 18;
  var DOP_PRICE_10 = 400;
  var DOP_PRICE_20 = 200,


    // Минимальная стоимость.
    MINIMUM_COST = 500,
    myMap = new ymaps.Map('map', {
      center: [56.088408, 54.248236],
      zoom: 9,
      controls: []
    }),
    // Создадим панель маршрутизации.
    routePanelControl = new ymaps.control.RoutePanel({
      options: {
        // Добавим заголовок панели.
        showHeader: true,
        title: 'Расчёт доставки'
      }
    }),
    zoomControl = new ymaps.control.ZoomControl({
      options: {
        size: 'small',
        float: 'none',
        position: {
          bottom: 145,
          right: 10
        }
      }
    });
  // Пользователь сможет построить только автомобильный маршрут.
  routePanelControl.routePanel.options.set({
    types: {
      auto: true
    }
  });

  // Если вы хотите задать неизменяемую точку "откуда", раскомментируйте код ниже.
  /*routePanelControl.routePanel.state.set({
      fromEnabled: false,
      from: 'Москва, Льва Толстого 16'
   });*/

  myMap.controls.add(routePanelControl).add(zoomControl);

  // Получим ссылку на маршрут.
  routePanelControl.routePanel.getRouteAsync().then(function(route) {

    // Зададим максимально допустимое число маршрутов, возвращаемых мультимаршрутизатором.
    route.model.setParams({
      results: 2
    }, true);

    // Повесим обработчик на событие построения маршрута.
    route.model.events.add('requestsuccess', function() {

      var activeRoute = route.getActiveRoute();
      if (activeRoute) {
        // Получим протяженность маршрута.
        var length = route.getActiveRoute().properties.get("distance"),
          // Вычислим стоимость доставки.
          price = calculate(Math.round(length.value / 1000)),
          // Создадим макет содержимого балуна маршрута.
          balloonContentLayout = ymaps.templateLayoutFactory.createClass(
            '<span>Расстояние: ' + length.text + '.</span><br/>' +
            '<span style="font-weight: bold; font-style: italic">Стоимость доставки: ' + price + ' р.</span>');
        // Зададим этот макет для содержимого балуна.
        route.options.set('routeBalloonContentLayout', balloonContentLayout);
        // Откроем балун.
        activeRoute.balloon.open();
      }
    });

  });
  // Функция, вычисляющая стоимость доставки.
  function calculate(routeLength) {
    if (routeLength < 10) {
      return Math.max((routeLength * 2) * DELIVERY_TARIFF + DOP_PRICE_10);
    } else
    if (routeLength > 10 && routeLength < 30) {
      return Math.max((routeLength * 2) * DELIVERY_TARIFF + DOP_PRICE_20);
    } else
    if (routeLength > 30) {
      return Math.max((routeLength * 2) * DELIVERY_TARIFF);
    }
  }

  function InIn(length) {
    var line = length
    document.getElementById('FuncIn').innerHTML = line;
  }
}
<!--
        Укажите свой API-ключ. Тестовый ключ НЕ БУДЕТ работать на других сайтах.
        Получить ключ можно в Кабинете разработчика: https://developer.tech.yandex.ru/keys/
    -->
<script type="text/javascript" src="https://api-maps.yandex.ru/2.1/?lang=ru_RU&apikey="></script>
<div id="map"></div>
<div id="InOn">
  <span id="FuncIn"></span>
</div>


Ответы (0 шт):