Показать сообщение отдельно
  #5 (permalink)  
Старый 10.09.2014, 07:53
Интересующийся
Отправить личное сообщение для devastor Посмотреть профиль Найти все сообщения от devastor
 
Регистрация: 09.09.2014
Сообщений: 27

Полный код JS
<script src="//api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
ymaps.ready(init);
function clear(){
			console.log("test 1:");
    		console.log(document.clean === clean); console.log(window.clean === clean);
       		myCollection.removeAll();
			geolocation.get({
        provider: 'yandex',
        mapStateAutoApply: true
    }).then(function (result) {
        result.geoObjects.get(0).properties.set({});
		myMap.geoObjects.add(result.geoObjects);
    });
	clear();
}
function init() {
	//создаём карту
    var geolocation = ymaps.geolocation,
        myMap = new ymaps.Map('map', {
            center: [54.724403, 55.970748],
            zoom: 10,
			controls: []
        });
		var myCollection = new ymaps.GeoObjectCollection();
		//отключение движения карты и масштабирования	
		myMap.behaviors.disable(['drag','rightMouseButtonMagnifier', 'scrollZoom', 'dblClickZoom', 'multiTouch']);
		document.getElementById('load').onclick = function () {
			if (document.getElementById('start').value != null){
				//Строим Маршрут, по точкам, с учётом пробок
				var start = document.getElementById('start').value;
				var finish = document.getElementById('finish').value;
				ymaps.route([start, finish], {avoidTrafficJams: true, mapStateAutoApply: true}).then(
				function (route) {
					myCollection.add(route);
					myMap.geoObjects.add(myCollection);
					document.getElementById('city').value = (route.getLength()/1000).toFixed(1) + ' километров';
					document.getElementById('timenone').value = timeformat(route.getTime()); 
					document.getElementById('timeprob').value = timeformat(route.getJamsTime());
					document.getElementById('price').value = price((route.getLength()/1000).toFixed(1)) + ' руб';
				},
				function (error) {
				if(error.message == "can't construct a route") {
					alert("При построении маршрута возникла ошибка.\r\nПопробуйте изменить адреса или перезагрузить 				страницу.");
				} else {
					alert("Возникла ошибка: " + error.message);
				}
        }
	);
}
}
//функция расчета стоимости
function price(length){
	var price = 30 + (length * 12);
	if (price < 100) { price = 100;}
	return price.toFixed(0);
}
//функция правильного вывода часов и минут
function timeformat(time){
	var twotime = time = time /60;
	if (time >= 60){
		time = Math.floor(time / 60);
		var minuts = twotime - (time * 60);
		var hour;
				switch (true) {
				
				case time == 1:
				hour = ' час';
				break
				
				case time >= 2 && time < 5:
				hour = ' часа';
				break
				
				case time > 5:
				hour = ' часов';
				break
				
				default:
				hour = ' час';
				break
			 
			}
			minuts = minutstime(minuts);
			return time + hour +' '+ minuts;
		}
	return minutstime(twotime);
	}
// вспомогательная функция для правильного вывода минут
function minutstime(minuts){
	minuts = minuts.toFixed(0);
	var timemin;
	switch (true) {
				
				case minuts == 1:
				timemin = minuts + ' минута';
				break
				
				case timemin >= 2 && timemin < 5:
				timemin = minuts + ' минуты';
				break
				
				case timemin > 5:
				timemin = minuts + ' минут';
				break
				
				default:
				timemin = minuts + ' минут';
				break
			 
			}
	return(timemin);
	}
};

И HTML
<body style="padding:0px; margin:0px; height:2000px;">
    <div id="map" style="width: 100%; position: absolute; height: 70%; padding:0px; margin:0px; z-index:1;"></div>
     <div style="padding:10px; position: absolute; z-index:2; background:#FFF; margin:30px 25% 0 0; opacity:.8;">
	 <form  method="post"  action="javascript:insert()">
<table border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>Начало:</td>
    <td><input type="text" onkeydown="window.clear()" size="20" id="start" value="Алкино-2" ></td>
  </tr>
      <tr>
    <td>Финиш:</td>
    <td><input type="text" onkeydown="window.clear()" size="20" id="finish" value="Уфа, Путейская 1Б" ></td>
  </tr>
  <tr></tr>
  <tr>
    <td>Расстояние:</td>
    <td><input type="text" size="20" id="city" ></td>
  </tr>
  <tr>
    <td>Время без учета пробок:</td>
    <td><input type="text" size="20"  id="timenone"></td>
  </tr>
  <tr>
    <td>Время с учетом пробок:</td>
    <td><input type="text" size="20"  id="timeprob"></td>
  </tr>
    <tr>
    <td>Стоимость:</td>
    <td><input type="text" size="20"  id="price"></td>
  </tr>
  <tr>
  <INPUT TYPE="SUBMIT" VALUE ="Принять заказ"></form>
	   <button id="load">Расчитать</button>
	   <button onclick="return location.href = 'http://test.devastor.ru/taxi/zakaz.php'" > ЗАКАЗЫ</button>
       <button onclick="console.log('test 2:'); console.log(document.clean === clean); console.log(window.clean === clean);">click</button>
  </tr>
  </table>




     </div>
</body>

На JS пишу второй день, так что сильно палками прошу не бить
При этом console.log("test 1:"); не срабатывает однозначно даже при явном вызове ниже

Последний раз редактировалось devastor, 10.09.2014 в 09:04.
Ответить с цитированием