Optellen lukt me niet

Status
Niet open voor verdere reacties.

jvrooij

Gebruiker
Lid geworden
25 mrt 2009
Berichten
44
Ik ben voor mijn zus die een taxi bedrijfje heeft een site aan het maken.
Ze wou graag dat mensen straks via de site hun ritprijs kunnen berekenen.

Nu heb ik al wat gemaakt ( door goed rond te kijken op internet ) Maar ik loop tegen een paar problemen aan.

Ten eerste krijg ik het niet voor elkaak om 2 cijfers achter de koma te zetten, hij plaats er nu idere keer 3.

en dan heb ik nog het probleem dat het instaptarief bij het totaal moet worden opgeteld zodat de prijs naar voren komt inc. alle kosten.

Je kunt kijken hoe het werkt door op onderstaande link te klikken
Rocatax Ritprijs

Ik heb ook de code erbij gezet, mischien nog wel eens handig voor iemand anders

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
	<meta name="robots" content="noindex,follow" />
	<title>Bereken uw ritprijs bij Rocatax</title>
	<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA_om0LWESlGV1zw3ey_kEsBR4a563CuvHL9DngLjCaPCpVbnDuhRNA3Fs3aVbcGbYTIiOofGv9j8EDg" type="text/javascript"></script>
	<!-- According to the Google Maps API Terms of Service you are required display a Google map when using the Google Maps API. see: http://code.google.com/apis/maps/terms.html -->
	<script type="text/javascript">
 
	var geocoder, location1, location2, gDir;
 
        function geoplugin_currencyCode() { return 'EUR'; }	
        function geoplugin_currencyCode() { return ''; }
	function initialize() {
		geocoder = new GClientGeocoder();
		gDir = new GDirections();
		GEvent.addListener(gDir, "load", function() {
		    var drivingDistanceKilometersCost = 5;			
			var drivingDistanceMiles = gDir.getDistance().meters / 1609.344;
			var drivingDistanceKilometers = gDir.getDistance().meters / 1000;
			document.getElementById('results').innerHTML = '<strong>Van adres: </strong>' + location1.address + ' <br /><strong>Naar adres: </strong>' + location2.address + '<br /><strong>Is een afstand van : </strong>' + drivingDistanceKilometers + ' Kilometer ' + ' <br /><strong>Het opstaptarief is €. </strong>' + drivingDistanceKilometersCost + ' <br /><strong>De prijs voor deze rit is €. </strong>' + drivingDistanceKilometers * 2.0;
		});
	}
 
	function showLocation() {
		geocoder.getLocations(document.forms[0].address1.value, function (response) {
			if (!response || response.Status.code != 200)
			{
				alert("Sorry, Voert u nogmaals de adres gegevens in van uw vertrekadres");
			}
			else
			{
				location1 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
				geocoder.getLocations(document.forms[0].address2.value, function (response) {
					if (!response || response.Status.code != 200)
					{
						alert("Sorry, Voert u nogmaals de adres gegevens in van uw aankomstadres");
					}
					else
					{
						location2 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
						gDir.load('from: ' + location1.address + ' to: ' + location2.address);
					}
				});
			}
		});
	}
 
	</script>
</head>
 
<body onload="initialize()">
 
	<form action="#" onsubmit="showLocation(); return false;">
		<p>
			<input type="text" name="address1" value="Vertrekpunt" />
			<input type="text" name="address2" value="Aankomstpunt" />
			<input type="submit" value="Bereken uw ritprijs" />
		</p>
	</form>
	<p id="results"></p>
 
</body>
</html>
 
Laatst bewerkt:
Ik ben voor mijn zus die een taxi bedrijfje heeft een site aan het maken.
Ze wou graag dat mensen straks via de site hun ritprijs kunnen berekenen.

Nu heb ik al wat gemaakt ( door goed rond te kijken op internet ) Maar ik loop tegen een paar problemen aan.

Ten eerste krijg ik het niet voor elkaak om 2 cijfers achter de koma te zetten, hij plaats er nu idere keer 3.

en dan heb ik nog het probleem dat het instaptarief bij het totaal moet worden opgeteld zodat de prijs naar voren komt inc. alle kosten.

Je kunt kijken hoe het werkt door op onderstaande link te klikken
Rocatax Ritprijs

Ik heb ook de code erbij gezet, mischien nog wel eens handig voor iemand anders

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
	<meta name="robots" content="noindex,follow" />
	<title>Bereken uw ritprijs bij Rocatax</title>
	<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAA_om0LWESlGV1zw3ey_kEsBR4a563CuvHL9DngLjCaPCpVbnDuhRNA3Fs3aVbcGbYTIiOofGv9j8EDg" type="text/javascript"></script>
	<!-- According to the Google Maps API Terms of Service you are required display a Google map when using the Google Maps API. see: http://code.google.com/apis/maps/terms.html -->
	<script type="text/javascript">
 
	var geocoder, location1, location2, gDir;
 
        function geoplugin_currencyCode() { return 'EUR'; }	
        function geoplugin_currencyCode() { return ''; }
	function initialize() {
		geocoder = new GClientGeocoder();
		gDir = new GDirections();
		GEvent.addListener(gDir, "load", function() {
		    var drivingDistanceKilometersCost = 5;			
			var drivingDistanceMiles = gDir.getDistance().meters / 1609.344;
			var drivingDistanceKilometers = gDir.getDistance().meters / 1000;
			document.getElementById('results').innerHTML = '<strong>Van adres: </strong>' + location1.address + ' <br /><strong>Naar adres: </strong>' + location2.address + '<br /><strong>Is een afstand van : </strong>' + drivingDistanceKilometers + ' Kilometer ' + ' <br /><strong>Het opstaptarief is €. </strong>' + drivingDistanceKilometersCost + ' <br /><strong>De prijs voor deze rit is €. </strong>' + drivingDistanceKilometers * 2.0;
		});
	}
 
	function showLocation() {
		geocoder.getLocations(document.forms[0].address1.value, function (response) {
			if (!response || response.Status.code != 200)
			{
				alert("Sorry, Voert u nogmaals de adres gegevens in van uw vertrekadres");
			}
			else
			{
				location1 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
				geocoder.getLocations(document.forms[0].address2.value, function (response) {
					if (!response || response.Status.code != 200)
					{
						alert("Sorry, Voert u nogmaals de adres gegevens in van uw aankomstadres");
					}
					else
					{
						location2 = {lat: response.Placemark[0].Point.coordinates[1], lon: response.Placemark[0].Point.coordinates[0], address: response.Placemark[0].address};
						gDir.load('from: ' + location1.address + ' to: ' + location2.address);
					}
				});
			}
		});
	}
 
	</script>
</head>
 
<body onload="initialize()">
 
	<form action="#" onsubmit="showLocation(); return false;">
		<p>
			<input type="text" name="address1" value="Vertrekpunt" />
			<input type="text" name="address2" value="Aankomstpunt" />
			<input type="submit" value="Bereken uw ritprijs" />
		</p>
	</form>
	<p id="results"></p>
 
</body>
</html>

Hi,
ik denk dat je toch wel een speciaal probleem voorlegt.

Wat hier boven staat aan Javascript is weliswaar impressive, hoewel ik het niet gedebugged heb nog, maar ik moet je wijzen op het probleem dat bezoekers geen Javascript toestaan. Daarmee verlies je mogelijk klanten.

Waarom kies je geen mogelijkheid om alle berekeningen op de server te doen? Bij tariefsverandering kun je de gegevens uit een klein databaseje halen en hoef je niet de webpagina/script aan te passen. Zou dat lukken denk je? Anders moeten we even doorstuderen op de Javascriptvraag.

PS. Mijn tante heeft een taxibedrijf in Rutenbrock(Dld)
 
Laatst bewerkt:
Het optellen is me gelukt. Alles werkt zoals het moet zijn. en op de euro precies :)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan