Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.09.2013, 11:26
Новичок на форуме
Отправить личное сообщение для wilkas Посмотреть профиль Найти все сообщения от wilkas
 
Регистрация: 18.09.2013
Сообщений: 2

При разных растояниях, разные события
Это кусок скрипта gmap:
function calcRoute() {
  var start = document.getElementById('start').value;
  var end = document.getElementById('end').value;
  var waypts = [];
  var checkboxArray = document.getElementById('waypoints');
  for (var i = 0; i < checkboxArray.length; i++) {
    if (checkboxArray.options[i].selected == true) {
      waypts.push({
          location:checkboxArray[i].value,
          stopover:true});
    }
  }

  var request = {
      origin: start,
      destination: end,
      waypoints: waypts,
      optimizeWaypoints: true,
      travelMode: google.maps.TravelMode.DRIVING,
      unitSystem: google.maps.UnitSystem.IMPERIAL
  };
directionsService.route(request, function(response, status) {
    if (status == google.maps.DirectionsStatus.OK) {
      directionsDisplay.setDirections(response);
      var route = response.routes[0];
      var summaryPanel = document.getElementById('directions_panel');
      summaryPanel.innerHTML = '';
      // For each route, display summary information.
      for (var i = 0; i < route.legs.length; i++) {
        var routeSegment = i + 1;
        summaryPanel.innerHTML += route.legs[i].distance.value + '<br><br>';
        }
    }
  });

При нажатии на кнопку ( calcRoute() )он выводит резултаты подщета растояния между тремя точками. То есть в резултате мы получаем две цыфры в метрах ( route.legs[i].distance.value ). Как сделать так, чтоб если эта цыфра меньше, скажем, 5000, то открывалась другая страница, если больше, выводилось сообщение.
Прошу ногами не пинать, я только постигаю премудрости JavaScript.
Ответить с цитированием
  #2 (permalink)  
Старый 19.09.2013, 10:28
Новичок на форуме
Отправить личное сообщение для wilkas Посмотреть профиль Найти все сообщения от wilkas
 
Регистрация: 18.09.2013
Сообщений: 2

С выводом сообщения вроде разобрался. Там все просто. Добавил это:
if (route.legs[i].distance.value > 128748) {alert("sorry");}
else 
{window.open('message.html', '_self');};

Но возникла другая проблема. Цифры получаем две и если первая менше требуемого значения открываетса страница message.html, а мне надо, чтоб если хоть одна цыфра больше чем надо, выводилось предупреждение.
Нашел решение. Правда не очень изящное, но оно делает то что в данный момент надо.
var a = route.legs[0].distance.value;
var b = route.legs[1].distance.value;
if (a > 128748) {alert("sorry");}
else if(b > 128748) {alert("sorry2");}
else {window.open('мессаге.html', '_self');};

Последний раз редактировалось wilkas, 19.09.2013 в 13:05.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск события при наведении Bezlepkin Общие вопросы Javascript 1 26.01.2011 21:25
Передача аргумента методу при назначении события eval Events/DOM/Window 9 11.11.2010 07:03
Изменение стиля родительского элемента при :hover дочернего lanzs Элементы интерфейса 2 16.10.2010 13:28
Запрет события при выполнения другова Suharik Events/DOM/Window 3 07.05.2010 16:29
Срабатывание события при подведении к краю экрана Destrifer Общие вопросы Javascript 2 08.01.2009 15:12