////////////////////////////////////////////////////////////////////////////// var buildMap = function (){ ymaps.ready(function init () { var map = new ymaps.Map('map', { center: [0,0],/*59.9470, 30.1309*/ zoom: 10, minZoom: 3, behaviors:['default', 'scrollZoom'] }), mapCursor, kadPolygon = new ymaps.Polygon(([spbKad]), {}, { editorDrawingCursor: "crosshair", editorMaxPoints: 1000, fill: false, strokeColor: '#00ff00', strokeWidth: 0}), kadGeometry = kadPolygon.geometry, lastRoute = undefined, searchTarget = false, srcPlacemark = undefined, dstPlacemark = undefined; var trafficControl = new ymaps.control.TrafficControl( { providerKey: 'traffic#actual', shown: false }); map.controls .add(trafficControl, { left: 100, top: 5 }) .add('typeSelector', { right: 5, top: 5 }) .add('zoomControl', { left: 5, top: 40 }) .add('mapTools', { left: 35, top: 5 }); ////////////////////////////////////////////////////////////////////////// map.geoObjects.add(kadPolygon); map.setBounds(kadPolygon.geometry.getBounds()); ////////////////////////////////////////////////////////////////////////// map.events.add('click', function (e) { var coords = e.get('coordPosition'), placemark; switch (searchTarget) { case 'src': $('#srcAddress').val(coords[0].toFixed(6) + ',' + coords[1].toFixed(6)); if (!srcPlacemark) { srcPlacemark = new ymaps.Placemark([0, 0], { iconContent: '1', }, { preset: 'twirl#blueIcon' }); } placemark = srcPlacemark; break; case 'dst': $('#dstAddress').val(coords[0].toFixed(6) + ',' + coords[1].toFixed(6)); if (!dstPlacemark) { dstPlacemark = new ymaps.Placemark([0, 0], { iconContent: '2', }, { preset: 'twirl#blueIcon' }); } placemark = dstPlacemark; break; } placemark.geometry.setCoordinates(coords); map.geoObjects.add(placemark); $('#map').removeClass('active'); // $('#srcButton, #dstButton').removeClass('ui-state-active'); $('#calcButton').click(); }); ////////////////////////////////////////////////////////////////////////// $('#srcAddress, #dstAddress').suggestAddress() .keypress(function(e) { if (e.which == 13) { $('#calcButton').click(); } }).focus(function() { searchTarget = false; if (mapCursor) { mapCursor.remove(); mapCursor = undefined; } $('#map').removeClass('active'); // $('#srcButton, #dstButton').removeClass('ui-state-active'); }); /* ////////////////////////////////////////////////////////////////////////// $('#srcButton').click(function(e) { mapCursor = mapCursor || map.cursors.push('arrow'); $('#map').addClass('active'); $('#srcButton').addClass('ui-state-active'); $('#dstButton').removeClass('ui-state-active'); searchTarget = 'src'; }); ////////////////////////////////////////////////////////////////////////// $('#dstButton').click(function(e) { mapCursor = mapCursor || map.cursors.push('arrow'); $('#map').addClass('active'); $('#dstButton').addClass('ui-state-active'); $('#srcButton').r emoveClass('ui-state-active'); searchTarget = 'dst'; }); */ ////////////////////////////////////////////////////////////////////////// $('#calcButton').click(function() { var from = $.trim($('#srcAddress').val()), to = $.trim($('#dstAddress').val()); // $('#calcResults').hide(); // $('#calcResults').addClass('non'); $('#calc_skidka').removeClass('non'); //$('.calc_comment').html('Текущий расчет сделан для Лады Гранты. Конечная стоимость услуг зависит от массы автомобиля.'); $('.calc_comment').html('Минимальная цена рассчитана для Лады Гранты. Конечная стоимость услуг зависит от массы автомобиля.'); $('#resultDetailsTime').hide(); $('#resultDetailsKm').hide(); searchTarget = false; if (mapCursor) { mapCursor.remove(); mapCursor = undefined; } if (lastRoute) map.geoObjects.remove(lastRoute); // $.calcroute.totals([from, to], kadGeometry, $('#vehicleWeight').val(), $('#nightlyRate').is(':checked')).done(function(route, routeTotals) $.calcroute.totals([from, to], kadGeometry, 0, $('#nightlyRate').is(':checked')).done(function(route, routeTotals) { var path = route.getPaths().get(0); lastRoute = route; if (srcPlacemark) map.geoObjects.remove(srcPlacemark); if (dstPlacemark) map.geoObjects.remove(dstPlacemark); $('#map').removeClass('active'); $('#srcButton, #dstButton').removeClass('ui-state-active'); map.geoObjects.add(route); if (path && path.geometry) { map.setBounds(path.geometry.getBounds()); } //Время в сек с пробками // time_probki=route.getJamsTime()/60; time_probki=route.getTime()/60; price_distance=routeTotals.givingFee + routeTotals.routeLength * routeTotals.price_probeg; price_distance=((price_distance/100).toFixed(0))*100; $('#calcResults .distance').html(routeTotals.routeLength.toFixed(2) + ' км'); $('#calcResults .distance-from-kad').html(routeTotals.distanceFromCity.toFixed(2) + ' км'); // $('#calcResults .distance-time').html(routeTotals.humanTime); // $('#calcResults .distance-time').html(retval.time.toFixed(0) + ' мин'); $('#calcResults .distance-time').html(time_probki.toFixed(0) + ' мин'); //$('#calcResults .price').html(Math.ceil(routeTotals.price).toFixed(0)+'-'+price_distance.toFixed(0) + ' руб*'); $('#calcResults .price').html(Math.ceil(routeTotals.price).toFixed(0) + ' руб*'); $('#zakazat1').show(); // $('#calcResults').show(); // $('#calcResults').removeClass('non'); // $('#resultDetailsKm .givingFee').html(routeTotals.givingFee.toFixed(0)); // $('#resultDetailsKm .regionGivingFee').html(routeTotals.regionGivingFee+'руб.'); // $('#resultDetailsKm .kmFee').html(routeTotals.extraKmDistance.toFixed(2) + "x" + routeTotals.kmFee); // $('#resultDetailsKm .nightlyFee').html(routeTotals.nightlyFee); // $('#resultDetailsKm .total').html(Math.ceil(routeTotals.price)); // $('#resultDetailsKm').show(); }); }).click(); }); } function loadYApi(){ $('#calcButton').off('click',loadYApi); $('#map .overlay').fadeOut(100); var script = document.createElement('script'); // script.src = 'https://api-maps.yandex.ru/2.1/?lang=ru_RU&onload=buildMap'; script.src = 'https://api-maps.yandex.ru/2.0/?apikey=819236ad-e066-4509-9c97-e06ad2a35777&load=package.full&lang=ru-RU&onload=buildMap'; // script.src = 'https://api-maps.yandex.ru/2.1/?apikey=819236ad-e066-4509-9c97-e06ad2a35777&load=package.full&lang=ru-RU&onload=buildMap'; document.getElementById('map').appendChild(script); $('
').appendTo($('#map')).fadeIn(100); } $(document).ready(function(){ $('#calcButton').click(function(){ $('#map').css('height','300px'); //ym(37201310, 'reachGoal', 'calcRaschet'); }); if (typeof loadYApi != 'undefined') $('#calcButton').on('click',loadYApi); $('#srcAddress, #dstAddress').suggestAddress(); // if (typeof loadYApi != 'undefined') $('#calcButton').on('click',buildMap); $('#calc_skidka').click(function(){ msgbox("

Позвоните нам.

Если эвакуатор рядом, мы пойдем навстречу в вопросе цены."); // alert("Обязательно позвоните. Если эвакуатор рядом, мы пойдем навстречу в вопросе цены."); }); $('#calcResults').find('.price').click(function(){ alert('Окончательная цена фиксируется при звонке диспетчеру. Возможно небольшое отличие от расчета калькулятора при сильной загруженности дорог.'); }); });