var m = new SMap(JAK.gel("m")); m.addControl(new SMap.Control.Sync()); m.addDefaultLayer(SMap.DEF_BASE).enable(); m.addDefaultControls(); var callNum = 0; var results = Array(); var r; var vrstva; var form = JAK.gel("form"); JAK.Events.addListener(form, "submit", geokoduj); /* Při odeslání formuláře pustit geokódování */ function geokoduj(e, elm) { /* Voláno při odeslání */ JAK.Events.cancelDef(e); new SMap.Geocoder(document.getElementById('odkud').value , odpoved); new SMap.Geocoder(document.getElementById('kam').value , odpoved); } function odpoved(geocoder) { /* Odpověď */ if (!geocoder.getResults()[0].results.length) { alert("Tohle neznáme."); return; } var vysledek = geocoder.getResults()[0].results[0]; console.log(vysledek.coords); results.push(vysledek.coords); if(++callNum > 1) { route = new SMap.Route(results, nalezeno); callNum = 0; results = Array(); m.removeLayer(vrstva); } } var nalezeno = function(r) { vrstva = new SMap.Layer.Geometry(); m.addLayer(vrstva).enable(); var coords = r.getResults().geometry; var cz = m.computeCenterZoom(coords); m.setCenterZoom(cz[0], cz[1]); var g = new SMap.Geometry(SMap.GEOMETRY_POLYLINE, null, coords); vrstva.addGeometry(g); var length = parseFloat(r.getResults().length / 1000).toFixed(2); var consumption = parseFloat(document.getElementById('consumption').value * (length / 100)).toFixed(2); var price = parseFloat(document.getElementById('price').value * consumption).toFixed(2); document.getElementById('result-distance').innerText = length + ' km'; document.getElementById('result-consumption').innerText = consumption + ' l'; document.getElementById('result-price').innerText = price + ' Kč'; document.getElementById('result').style.display = 'block'; } DPP

Kalkulačka nákladů na dopravu

Odkud (ulice, číslo popisné, město)
Kam (ulice, číslo popisné, město)
Průměrná spotřeba (l / 100 km)
Cena paliva (Kč / l)