Afstand calculator

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Node.js developer Digital Agency

Functie Door de groei van de organisatie zijn ze op zoek naar een Tech Lead. Als tech lead ben jij verantwoordelijk Als Back end Node.js developer kom je terecht in een van de 8 multidisciplinaire teams in het projectenhuis. Afhankelijk van jouw interesses, wensen en capaciteiten word je bij projecten en onderwerpen naar keuze betrokken. Als ervaren ontwikkelaar zul jij vaak leiding nemen in de projecten en in het team een aanvoerder zijn van technische discussies. Uiteindelijk wil jij natuurlijk de klantwensen zo goed mogelijk vertalen naar robuuste code. De projecten kunnen varieren van langlopende- tot kleinschalige trajecten. Voorheen werkte

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden je HBO ICT Informatica diploma in ontvangst mogen nemen? Of heb je een aantal jaar ervaring als Software Developer en ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een gewaardeerde werkgever in de regio van Goirle zijn wij op zoek naar een junior/medior Back-end Developer met affiniteit met MS Acess. Samen met een vooruitstrevend team ben je verantwoordelijk voor het ontwikkelen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL en affiniteit met MS Acess. Je bent klantvriendelijk en flexibel ingesteld en vindt het leuk om klanten te

Bekijk vacature »

.NET developer

Functie Als junior .NET ontwikkelaar ga jij aan de slag in één van de 5 IT teams van dit bedrijf. Jullie werken op basis van interne klantprojecten aan voornamelijk webapplicaties. Dit betekent dat jij continu uitgedaagd wordt en veelal met verschillende soorten projecten bezig bent. Het gave is dan ook dat jullie als team samen bekijken welke technieken het beste passen bij het project waar jullie verantwoordelijk voor zijn. Zo kan het zijn dat jij als .NET developer gaat werken aan een project, maar dat jullie als team liever gebruik maken van Haskell of F# om de klus te klaren.

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

IoT Developer

Ben jij innovatief, heb jij passie voor energie en ben je data gedreven? Bouw dan mee aan IoT binnen Bredenoord. Samen met een gedreven team werk jij aan mooie technische en innovatieve oplossingen. Wat houdt de functie van IoT Developer in? Binnen Bredenoord zijn wij momenteel volop in ontwikkeling met ons IoT platform. Als uitbreiding van ons team zijn wij op zoek naar een IoT Developer. Je zal in projectverband meehelpen met het implementeren van IoT vraagstukken binnen Bredenoord. Als IoT Developer op onze R&D-afdeling word je verantwoordelijk voor het verder inrichten en beheren van ons nieuwe IoT platform. Dat

Bekijk vacature »

Digital Agency is looking for PHP developers!

Functie The team currently has 20 colleagues, consisting of developers (front and backend) and the operations team, which also includes management and two scrum masters. They are looking for a PHP developer who is able to work independently. You will work in one of the three scrum teams and start working on a project for the customer. The interesting thing about this is that you do have variety in terms of work, but at the same time continuously work for existing customers. This also gives you the opportunity to really go into depth and develop innovative technical solutions. In terms

Bekijk vacature »

Full Stack Developer/ Applicatie Ontwikkelaar

Wat jij doet Als Applicatie Ontwikkelaar ben je onderdeel van het team die de Rimote omgeving ontwikkeld en onderhoud. Hierbij kan je denk aan de cloud, on premise en webapplicaties welke worden gebruikt in bijvoorbeeld industriële bakkerijen, biogasinstallaties en kwekerijen. Deze applicaties verzorgen (remote) de aansturing en monitoring van processen, machines en robots. Van a tot z ben je betrokken bij projecten. Dit betekent vanaf ontwerp tot oplevering. Je moet samen met jouw team een goed product neer zetten. Dit begint met het opzetten van het ontwerp. De basis van de software moet staan als een huis. Daarvoor moet jij

Bekijk vacature »

Senior Javascript developer

Functie Het platform is gebouwd in een moderne JavaScript stack, die gebruikt maakt van:  React.js  Redux  TypeScript  Node.js  Google Cloud functions (node.js)  Semantic UI Alle code wordt getest en beoordeeld door collega developers. De continuous integration pipeline maakt het mogelijk om elke dag waarde te leveren aan hun klanten. Het ontwikkelproces is pragmatisch en gebaseerd op Scrum. Wat je zult doen: Ten eerste kun je nadrukkelijk jouw eigen stempel drukken op de technologie, het product en de cultuur van het bedrijf. Je bent bezig met het uitwerken van de architectuur van nieuwe functionaliteiten op

Bekijk vacature »

Productontwikkelaar Food

Wat ga je doen Als Productontwikkelaar Food ga je nieuwe producten ontwikkelen en bestaande producten verbeteren. Je bent hierbij betrokken bij het gehele proces: van productconcept naar proefreceptuur, het realiseren va het product (op kleine schaal) en het testen van producten in een productieomgeving. Verder: Bewaak je de status van verschillende fases van productontwikkeling en lever je tijdig de benodigde data aan Ben je bezig met de optimalisatie van oude en nieuwe recepturen Begeleid of organiseer je proefsessies (sensorisch onderzoek) in het team en/of bij klanten Onderhoud je contacten met de klanten, leveranciers van grondstoffen e.a. externe partijen Houd je

Bekijk vacature »

Full stack developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Software Developer C++ en Perl

Ben je een slimme en enthousiaste universitair opgeleide bèta die graag bij een relatief klein softwarebedrijf wil werken waar de sfeer goed is en eigen inbreng gewaardeerd wordt? Wij, IntelliMagic in Leiden, ontwikkelen technisch hoogwaardige software op het gebied van IT infrastructuur performance analytics. Het type software zorgt voor intellectueel interessante uitdagingen. We ontwerpen de producten zelf en verkopen deze als off-the-shelf software aan grote bedrijven in Europa en de VS. Wij zoeken een ervaren C++ software engineer met kennis van Perl voor een van onze ontwikkelteams. Werkzaamheden Samen met de andere ontwikkelaars specificeren, ontwerpen en implementeren van nieuwe functionaliteit

Bekijk vacature »

Front-End React Developer

Als Front-End React Developer verbeter je de user experience van onze eigen webapplicaties voor onze collega's binnen Coolblue. Wat doe je als Front-End React Developer bij Coolblue? Als Front-end React Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten met React.js. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end React Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Verbeteren van de gebruiksvriendelijkheid van onze webshop

Bekijk vacature »

Junior Back end developer PHP, Symfony

Functie Wij hebben onlangs onze eerste collega’s aangenomen, waardoor ons development team momenteel uit 4 personen bestaat. We bouwen onze software op basis van een PHP-framework (wat op zichzelf een Symfony framework is). Qua ontwikkeling focussen wij ons op 3 focus velden; – API-ontwikkeling/ Component Creatie – Implementatie – Framework ontwikkeling; het toevoegen van nieuwe functionaliteit of interne microservices Onze senior software engineer focust zich momenteel op de laatste twee punten, maar wij komen handen te kort op het eerste veld. Daarom zijn wij op zoek naar een enthousiaste junior software engineer die graag de kneepjes van het vak wil

Bekijk vacature »

PHP Developer

Zie jij mogelijkheden om onze tooling technisch te verbeteren en uit te bouwen? Over Jobmatix Jobmatix is een innovatieve en internationale speler op het gebied van jobmarketing. Onze jobmarketing automation tool helpt organisaties bij het aantrekken van nieuw talent door vacatures digitaal, geautomatiseerd en op een efficiënte manier te adverteren en onder de aandacht te brengen bij de doelgroep op 25+ jobboards. Volledig performance-based, waarbij organisaties betalen op basis van cost per click of cost per applicant. Maandelijks wordt onze jobmarketing automation tool al gebruikt door vele directe werkgevers, intermediairs en mediabureaus, waaronder Picnic, Rijkswaterstaat, AdverOnline, Schiphol, DPA, Teleperformance en

Bekijk vacature »

PHP Developer Symfony

Dit ga je doen Ontwikkelen van Product Informatie Management (PIM) systemen; Werken aan zowel grotere als kleine projecten voor toonaangevende klanten binnen o.a. de retail. Hier ga je werken Als PHP Developer kom je te werken binnen een vooruitstrevende organisatie die Product Informatie Management (PIM) systemen levert aan hun klanten. Hun klanten zijn toonaangevende bedrijven binnen o.a. de retail. De organisatie zit gevestigd in regio Zwolle en bestaat uit zo'n 35 medewerkers, waarvan 30 IT. Je komt te werken binnen één van de zelfsturende development teams welke ieder verantwoordelijk zijn voor hun 'eigen' klanten. Jouw team bestaat uit 6 backend

Bekijk vacature »
Nico Neijhuis

Nico Neijhuis

29/06/2013 15:56:54
Quote Anchor link
Beste,

Op dit moment ben ik bezig met een taxi calculator. Deze berekent het aantal kilometers mbv Google Maps en zet deze om in een prijs.
Hiervoor heb ik twee radio buttons aangemaakt, maar niet kunnen koppelen aan de javasscript. Een radiobutton is voor de normale rit en de andere voor een speciale.

Wanneer de afstand onder de 40 kilometer is, is de prijs anders dan boven de 40 kilometer. Er moeten dus in totaal 4 verschillende kilometerprijzen komen. Twee voor de normale rit en 2 voor de speciale.

Op dit moment heb ik alleen dit stukje code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
if (total<40)
         {
             var cost = parseInt(total) * 1.75;
         }
          else
         {
            var cost = parseInt(total) * 1.50;
         }


Zou iemand me kunnen helpen om dit te kunnen oplossen?

Alvast bedankt!
Gewijzigd op 30/06/2013 12:48:38 door Nico Neijhuis
 
PHP hulp

PHP hulp

19/04/2024 20:03:04
 
Frank Nietbelangrijk

Frank Nietbelangrijk

30/06/2013 00:24:39
Quote Anchor link
Daar leent jQuery zich dus zo goed voor:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<script>

function update() {
    var kmPrijs;
    var checked = $(".radio-rit:checked").attr('id'); // verkrijg het id van de geselcteerde radiobutton
    var km = $('#km-rit').val(); // lees de inhoud van de kilometer input
    
    if(km > 40)
    {
        kmPrijs = 1.4;
        if(checked == 'speciale-rit')
            kmPrijs = 1.65;
    }
    else
    {
        kmPrijs = 1.5;
        if(checked == 'speciale-rit')
            kmPrijs = 1.75;
    }
    
    kmPrijs *= km;
    $('#total-rit').val(' ' + kmPrijs.toFixed(2)); // verander de inhoud van de totaal input
}

// als de pagina geladen is wordt deze functie automatisch uitgevoerd
$(document).ready(function() {
    // als de radio buttons wijzigen roep dan de functie update() aan
      $('.radio-rit').change(function(e) {
        update();
    });
    // als er een toets is ingedrukt en losgelaten in de kilometer input roep dan de functie update() aan
      $('#km-rit').keyup(function(e) {
        update();
    });
});
</script>
</head>

<body>
<input type="text" id="km-rit" /><br/>
<input class="radio-rit" type="radio" name="rit" id="normale-rit" checked="checked" /><label for="normaal-rit">Normale rit</label><br/>
<input class="radio-rit" type="radio" name="rit" id="speciale-rit" /><label for="speciale-rit">Speciale rit</label><br/>
<input type="text" readonly="readonly" id="total-rit"/>
</body>
</html>
 
Wouter J

Wouter J

30/06/2013 00:43:52
Quote Anchor link
Waarom jquery ipv javascripy, alles kan vervangen worden door javascript met ong. dezelfde functies en regels code...
 
Nico Neijhuis

Nico Neijhuis

30/06/2013 00:55:23
Quote Anchor link
Is jquery in dit geval niet verstandig om te gebruiken dan?

@Frank Nietbelangrijk: dank voor je hulp!
 
Wouter J

Wouter J

30/06/2013 00:59:07
Quote Anchor link
Nee, je laat 28 onnodige kb in.
Gewijzigd op 30/06/2013 00:59:24 door Wouter J
 
Nico Neijhuis

Nico Neijhuis

30/06/2013 01:02:39
Quote Anchor link
Ik heb niet zo'n heel veel verstand van javascript en heb nu dus ook niet echt een idee hoe ik dit moet aanpakken...
 
Frank Nietbelangrijk

Frank Nietbelangrijk

30/06/2013 10:23:17
Quote Anchor link
Wouter J op 30/06/2013 00:59:07:
Nee, je laat 28 onnodige kb in.


Lekker spannend. Als deze pagina voor een handheld is dan zou ik ook liever zonder jQuery werken. Voor de rest maakt t geen bal uit. Daarnaast neemt het de verschillen in browsers voor je weg waardoor je zonder moeilijk gedoe een script hebt dat in alle grote browsers werkt.
Gewijzigd op 30/06/2013 10:27:17 door Frank Nietbelangrijk
 
Wouter J

Wouter J

30/06/2013 11:49:11
Quote Anchor link
Quote:
Daarnaast neemt het de verschillen in browsers voor je weg waardoor je zonder moeilijk gedoe een script hebt dat in alle grote browsers werkt. - See more at: http://www.phphulp.nl/php/forum/topic/afstand-calculator/91331/last/#sthash.mhamVhBz.dpuf

En welk browserverschil is er dan in de code van jouw? De hele code is te herschrijven naar JavaScript met evenveel regels en evenveel functies die door elk browser ondersteund worden.

En daarnaast kan de code nog wat geoptimaliseerd worden.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
var kmElem = $('#km-rit');
var totalElem = $('#total-rit');

function update() {
    var kmPrijs;
    var checked = $(".radio-rit:checked").attr('id'); // verkrijg het id van de geselecteerde radiobutton
    var km = kmElem.val(); // lees de inhoud van de kilometer input
    
    if(km > 40)
    {
        kmPrijs = 1.4;
        if(checked == 'speciale-rit')
            kmPrijs = 1.65;
    }
    else
    {
        kmPrijs = 1.5;
        if(checked == 'speciale-rit')
            kmPrijs = 1.75;
    }
    
    kmPrijs *= km;
    totalElem.val(' ' + kmPrijs.toFixed(2)); // verander de inhoud van de totaal input
}

// als de pagina geladen is wordt deze functie automatisch uitgevoerd
$(document).ready(function() {
    // als de radio buttons wijzigen roep dan de functie update() aan
    $('.radio-rit').change(update);
    // als er een toets is ingedrukt en losgelaten in de kilometer input roep dan de functie update() aan
    kmElem.keyup(update);
}); - See more at: http://www.phphulp.nl/php/forum/topic/afstand-calculator/91331/last/#sthash.mhamVhBz.dpuf


En de normale JavaScript variant:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
var kmElem = document.getElementById('km-rit');
var totalElem = document.getElementById('total-rit');
var radioElems = document.getElementsByClassName('radio-rit'); // jeeh! we kunnen het zelfs nog meer optimaliseren!!

function update() {
    var kmPrijs;
    // verkrijg het id van de geselecteerde radiobutton
    for (i = -1; radioElem = radioElems[++i]; ) {
        if (radioElem.checked) {
            var checked = radioElem.getAtttibute('id');
        }
    }
    var km = kmElem.value; // lees de inhoud van de kilometer input
    
    if(km > 40)
    {
        kmPrijs = 1.4;
        if(checked == 'speciale-rit')
            kmPrijs = 1.65;
    }
    else
    {
        kmPrijs = 1.5;
        if(checked == 'speciale-rit')
            kmPrijs = 1.75;
    }
    
    kmPrijs *= km;
    totalElem.value = ' ' + kmPrijs.toFixed(2); // verander de inhoud van de totaal input
}

// als de pagina geladen is wordt deze functie automatisch uitgevoerd
window.onload = function() {
    // als de radio buttons wijzigen roep dan de functie update() aan
    for (i = -1; radioElem = radioElems[++i]; ) {
        radioEem.onchange = update;
    }

    // als er een toets is ingedrukt en losgelaten in de kilometer input roep dan de functie update() aan
    kmElem.onkeyup = kmElem.onchange = update;
}); - See more at: http://www.phphulp.nl/php/forum/topic/afstand-calculator/91331/last/#sthash.mhamVhBz.dpuf
 
Nico Neijhuis

Nico Neijhuis

30/06/2013 12:50:40
Quote Anchor link
Dank jullie wel, maar heb het op een andere manier gedaan. De normale rit heeft nu een prijs onder de 40 en boven de 40. De speciale heeft een 'toeslag' van een percentage.

Helemaal:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
        //<![CDATA[
          var map = null;
          var directionDisplay;
          var directionsService = new google.maps.DirectionsService();

          function initialize() {
            directionsDisplay = new google.maps.DirectionsRenderer();

            var Amsterdam = new google.maps.LatLng(52.138433,5.614014);

            var mapOptions = {  
                        center              : Amsterdam,
                        zoom                : 8,
                        minZoom             : 5,
                        streetViewControl   : false,
                        mapTypeId           : google.maps.MapTypeId.ROADMAP,
                        zoomControlOptions  : {style:google.maps.ZoomControlStyle.MEDIUM}
                    };


            map = new google.maps.Map(document.getElementById('map_canvas'),
                mapOptions);

             //Find From location    
        var fromText = document.getElementById('start');
        var fromAuto = new google.maps.places.Autocomplete(fromText);
        fromAuto.bindTo('bounds', map);
        //Find To location
        var toText = document.getElementById('end');
        var toAuto = new google.maps.places.Autocomplete(toText);
        toAuto.bindTo('bounds', map);
        //  
            directionsDisplay.setMap(map);
            directionsDisplay.setPanel(document.getElementById('directions-panel'));

            /*var control = document.getElementById('control');
            control.style.display = 'block';
            map.controls[google.maps.ControlPosition.TOP].push(control);*/
          }

          function calcRoute() {
            var start = document.getElementById('start').value;
            var end = document.getElementById('end').value;
            var request = {
              origin: start,
              destination: end,
              travelMode: google.maps.DirectionsTravelMode.DRIVING
            };
            directionsService.route(request, function(response, status) {
              if (status == google.maps.DirectionsStatus.OK) {
                directionsDisplay.setDirections(response);
                computeTotalDistance(response);
              }
            });
          }
          function computeTotalDistance(result) {
          var total = 0;
          var myroute = result.routes[0];
          for (i = 0; i < myroute.legs.length; i++) {
            total += myroute.legs[i].distance.value;
          }
          total = total / 1000;
          /*Start Calculating Distance Fair*/
  if (total<40)
         {
             var cost = parseInt(total) * 1.75;
         }
          else
         {
            var cost = parseInt(total) * 1.50;
         }
// retour en extrakosten
              var fare = cost;
              var fare = Math.round(fare*100)/100;
              
              var fare = Math.round(fare*100)/100;
if(document.getElementById("doubleFare").checked)
{
   fare = fare * 2;
}


if(document.getElementById("speciaal-rit").checked)
{
   fare = fare * 1.18;
}

          /*Distance Fair Calculation Ends*/

          document.getElementById("total").innerHTML = "Totale afstand is " + total + " kilometer <br /> De kosten zijn &euro;" + fare;
          }

        function auto() {
        var input = document.getElementById[('start'), ('end')];
        var types
        var options = {
           types: [],
           componentRestrictions: {country: ["NL"]}
            };
            var autocomplete = new google.maps.places.Autocomplete(input, options);
         }

          google.maps.event.addDomListener(window, 'load', initialize);



Calculator:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
          /*Start Calculating Distance Fair*/
  if (total<40)
         {
             var cost = parseInt(total) * 1.75;
         }
          else
         {
            var cost = parseInt(total) * 1.50;
         }
// retour en extrakosten
              var fare = cost;
              var fare = Math.round(fare*100)/100;
              
              var fare = Math.round(fare*100)/100;
if(document.getElementById("doubleFare").checked)
{
   fare = fare * 2;
}


if(document.getElementById("speciaal-rit").checked)
{
   fare = fare * 1.18;
}


Aleen is het probleem nu dat ik de totale afstand en prijs niet afgerond krijg. Ik krijg prijzen zoals: €181.50000000000003 of kilometers als: 110.946.
Wie o wie zou me hiermee kunnen helpen?
Gewijzigd op 30/06/2013 22:10:21 door Nico Neijhuis
 
Kris Peeters

Kris Peeters

01/07/2013 10:55:48
Quote Anchor link
Lijn 90:

document.getElementById("total").innerHTML = "Totale afstand is " + total.toFixed(2) + " kilometer <br /> De kosten zijn &euro;" + fare.toFixed(2);

Helpt dat?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.