GeoLocation

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een leuke opdrachtgever in de omgeving van Hilversum! Voor een leuk bedrijf in de omgeving van Hilversum zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. Ben jij iemand die graag aan verschillende projecten werkt en het ook leuk vindt om bij klanten op bezoek te gaan? Dan ben jij de perfecte kandidaat! Deze functie is erg divers, je moet dus goed kunnen schakelen. Je komt te werken in een klein team van developers. Binnen het bedrijf hangt er een gemoedelijke informele

Bekijk vacature »

Back-End Web Developer

Als Back-End Web Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als Back-End Web Developer bij Coolblue? Als Back-End Web Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Als backend developer weet je de weg in PHP, kan je in Typescript een microservice op zetten of ben je bereid om dit te leren. Ook Web Backend Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen PHP

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Roosendaal, ontwikkel je als PHP Developer niet alleen webapplicaties, maar ben je verder ook gefocust op het continu inspelen op nieuwe trends en ontwikkelingen m.b.t software development. Naast het bouwen van webapplicaties, ontwikkelen zij ook webshops en websites voor gave opdrachtgevers! Wat ga je doen? Het schrijven van schone en efficiënte codes volgens het Symfony framework; Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het Symfony framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de

Bekijk vacature »

Back-end Programmeur

Functieomschrijving Heb jij kort geleden je HBO ICT in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een ambitieuze werkgever in de regio van Breda zijn wij op zoek naar een Back-end programmeur met affiniteit met C#.NET, SQL en MS Access. Samen met team bestaand uit ware ICT professionals ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Belangrijk is dat je kennis of ervaring hebt van C#.NET en SQL. Je toont een flexibele en sociale houding naar klanten toe. Je denkt in nieuwe mogelijkheden & gaat graag de uitdaging aan. Bedrijfsprofiel De

Bekijk vacature »

Mendix Developer

Functie Wat ga je doen als Mendix Developer? We leven in een wereld die snel ontwikkelt en veranderd, ook nemen bedrijfsbelangen toe en blijken risico’s moeilijker in te schatten, daarom wij op zoek naar Junior, Medior en Senior Developers die bedrijven kunnen helpen met hun screeningproces en zorgen dat deze efficiënt en 100 procent AVG compliant is. Het concept achter Mendix is duidelijk. De klant heeft een vraag/probleem. Dit kunnen we door middel van slimme software oplossen. In plaats van te werken met de nieuwste technieken en tools, wordt er gekozen voor het implementeren en maken van software dat op

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar ontbreekt er aan passie en motivatie niks. Jij bent communicatief sterk en pakt iedere uitdaging dan ook met beide handen aan. Op projectbasis ga jij met je team of met enkele andere ontwikkelaars intern aan de slag bij diverse partners. Op basis van het project ga jij aan de slag en zijn de werkzaamheden en technieken erg divers. Jouw werkgever stelt jouw ontwikkeling hierin voorop, zo krijg je een vast vertrouwenspersoon die één keer in de maand op locatie van jouw project zal kijken hoe het gaat en of er eventuele aandachtspunten zijn. Daarnaast krijg

Bekijk vacature »

IT Infrastructuur Developer

IT Infrastructuur Developer Ben jij (bijna) klaar met je HBO studie in de richting van IT? Opzoek naar een spannende eerste baan, waar je ontzettend veel kan leren? Dan hebben wij de ultieme job voor jou! Voor een goede klant van ons in de financiële dienstverlening zijn wij opzoek naar een Junior Infrastructure Developer. Deze baan is een mooie kans om een sterke start te geven aan jouw carrière binnen de IT! De job Je werkt nauw samen met het Devops team, en zal je voornamelijk bezighouden met het automatiseren van infrastructure componenten. De componenten worden opgevraagd door het DevOps

Bekijk vacature »

C# Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Wil jij graag aan de slag als C# ontwikkelaar en jouw skills verder ontwikkelen? Zoek niet verder! Als C# ontwikkelaar ga je aan de slag met de volgende taken: (verdere) ontwikkeling van de software voor de interne processen binnen een .net omgeving; optimaliseren van de dataprocessing; ontwerpen en implementeren van zowel desktop- als web-programmatuur; ontwikkeling van tools ten behoeve van consultants en klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Den Bosch. Zij ontwikkelen business intelligence software voor een specifieke branche. Dit houdt in dat zij dashboards ontwikkelen

Bekijk vacature »

Back End Developer

As a Back End developer at KUBUS you will be developing the (web) application and services of BIMcollab. You have a focus on the back end of our software, for which we mainly work with C# and .NET. We use a full-stack approach, which means that in addition to the back-end, you will also help with other parts of the code. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact

Bekijk vacature »

Software Developer

Dit ga je doen Je bent verantwoordelijk voor de warehouse applicatie die een integratie heeft met de PLC laag; Je ontwikkelt in C#/.Net; Je bent verantwoordelijk voor het ontwikkelen van interfaces en het visualiseren van componenten; Je denkt mee over het design voor business oplossingen; Je bent verantwoordelijk voor het testen van de gebouwde oplossing. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Software Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van de warehouses. Op dit moment wordt er nog gebruik

Bekijk vacature »

Software Developer

Functie omschrijving Psst hé jij daar! Op zoek naar een nieuwe uitdaging als developer? Wacht niet langer en reageer direct. In deze functie ga je bij een familiebedrijf werken als developer. Je gaat maatwerk software ontwikkelen met de Microsoft stack. Je gebruikt technieken als C#, ASP.NET en MVC. Je werkt in een leuk team van andere developers. Je krijgt veel vrijheid in je werk en kan flexibel werken. Dagje thuiswerken? Geen probleem! Daarnaast is er veel ruimte om écht mee te denken met het bedrijf en met de klanten. Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Vanaf

Bekijk vacature »

SQL database ontwikkelaar

Functie omschrijving Ben jij niet bang voor complexe algoritmes? Schikt het schrijven van procedures in T-SQL jouw niet af en heb jij al de nodige informatie in SQL, dan is functie precies wat voor jou! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat werken aan de complexere projecten waar jij van A tot Z bij betrokken bent. Je gaat zorg dragen voor het ontwerp, de ontwikkeling en het updaten van SQL databases. Dit doe je op basis van T-SQL. Jij bent van start tot finish betrokken bij de projecten die jij leidt. Je houdt contact met klanten en

Bekijk vacature »

Senior PHP Developer

As a Senior PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible and you choach other colleagues on the hard and soft skills. How do I become a Senior PHP Developer at Coolblue? As a PHP Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the

Bekijk vacature »
Donny Wie weet

Donny Wie weet

11/06/2013 01:54:05
Quote Anchor link
Hoi allemaal,

Ik had weleens eerder gevraagd over GeoLocation hoe dat precies werkt. Toch ben ik benieuwd of dit niet anders kan dmv een PHP $_GET request. Ik wil het in een Sessie zetten.
Groet Donny
 
PHP hulp

PHP hulp

20/04/2024 04:56:21
 
Ward van der Put
Moderator

Ward van der Put

11/06/2013 07:53:01
Quote Anchor link
Het kan op grofweg twee manieren: passief met een IP-adres via IP-geolocatie en actief met de GeoLocation API van HTML5. Via een IP-adres merkt de bezoeker er niets van (passief) en via de HTML5-API moet de gebruiker toestemming verlenen voor het doorgeven van zijn locatie (actief).
 
Donny Wie weet

Donny Wie weet

11/06/2013 11:55:18
Quote Anchor link
Wat nou als ik de geolocation van HTML5 wil gebruiken? Kan ik dan die JavaScript variabele linken aan een PHP variabele op een eenvoudige manier?
 
- Ariën  -
Beheerder

- Ariën -

11/06/2013 11:59:13
Quote Anchor link
Je kan dat dan via AJAX doorsluisen naar PHP. Via GET of POST bijvoorbeeld.
Je kan ook van de WebStorage van HTML5 gebruik maken:
http://www.w3schools.com/html/html5_webstorage.asp
Gewijzigd op 11/06/2013 12:02:05 door - Ariën -
 
Ward van der Put
Moderator

Ward van der Put

11/06/2013 12:06:40
Quote Anchor link
Ik zou het inderdaad, zoals Aar, terugkoppelen met Ajax.

Het kan echter ook anders, bijvoorbeeld door de gevonden coördinaten toe te voegen aan een single-pixel GIF of door ze in een verborgen formulierveld te plaatsen (bij zoekopdrachten, nieuwbriefaanmeldingen, inlogsystemen, enzovoort, en vooral natuurlijk bij alles waarbij locatie-informatie van pas kan komen).
 
Joey Drieling

Joey Drieling

11/06/2013 16:54:27
Quote Anchor link
Of als je al over adres gegevens van een gebruiker hebt locatie op haalen via de Google map-api.
 
Donny Wie weet

Donny Wie weet

11/06/2013 17:22:37
Quote Anchor link
Werkt de GEOlocation met GPS telefoons?
 
Joey Drieling

Joey Drieling

11/06/2013 17:34:54
Quote Anchor link
Jha althans bij mijn galaxy s3 wel.

Maar mensen accepteren niet zo snel ik trouwens ook niet.
 
- Ariën  -
Beheerder

- Ariën -

11/06/2013 18:10:33
Quote Anchor link
Ja... geolocation werkt wel, maar is niet altijd accuraat merk ik?
 
Ward van der Put
Moderator

Ward van der Put

11/06/2013 18:16:45
Quote Anchor link
- Aar - op 11/06/2013 18:10:33:
Ja... geolocation werkt wel, maar is niet altijd accuraat merk ik?

Klopt, dat hangt vooral af van de bekende locatie van WiFi-hotspots. Het kan er enkele meters tot enkele tientallen meters naast zitten. Vandaar dat je geolocatie van Google Maps ook uitdrukkelijk niet mag gebruiken voor navigatie: voordat je het weet, ligt je auto in de plomp.


Toevoeging op 12/06/2013 10:42:53:

Als kleine “proof of concept” van geolocatie met HTML5 heb ik even een Ajax-applet in elkaar gestoken.

Webpagina in HTML5
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
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>Geolocatie met HTML5 en Ajax</title>
  <meta name="author" content="Ward van der Put">
</head>
<body>

  <script>
    // Voor versies van Microsoft Internet Explorer die XMLHttpRequest
    // niet ondersteunen, kunnen we een ActiveX-object gebruiken.
    if (typeof XMLHttpRequest == 'undefined') XMLHttpRequest = function() {
      try {return new ActiveXObject('Msxml2.XMLHTTP.6.0')} catch(e) {}
      try {return new ActiveXObject('Msxml2.XMLHTTP.3.0')} catch(e) {}
      try {return new ActiveXObject('Msxml2.XMLHTTP')} catch(e) {}
      try {return new ActiveXObject('Microsoft.XMLHTTP')} catch(e) {}
    };

    // Opties voor geolocatie met getCurrentPosition().
    var options = {
      enableHighAccuracy: true,
      timeout: 5000,
      maximumAge: 0
    };

    function success(position)
    {
      // URL samenstellen met de twee GET-variabelen
      // latitude (breedtegraad) en longitude (lengtegraad)
      // in decimale graden.
      var url = "http://localhost/geolocatie.php"
        + "?latitude=" + position.coords.latitude
        + "&longitude=" + position.coords.longitude;

      // Nauwkeurigheid in meters (m)
      url += "&accuracy=" + position.coords.accuracy;

      // Hoogte in meters (m) en nauwkeurigheid van de hoogte
      if (position.coords.altitude) {
        url += "&altitude=" + position.coords.altitude;
        if (position.coords.altitudeAccuracy) {
          url += "&altitudeAccuracy=" + position.coords.altitudeAccuracy;
        }
      }

      // Richting in graden, waarbij 0 ? heading < 360
      if (position.coords.heading) {
        url += "&heading=" + position.coords.heading;
      }

      // Snelheid in meters per seconde (m/s)
      if (position.coords.speed) {
        url += "&speed=" + position.coords.speed;
      }

      // URL verzenden in een Ajax-verzoek
      verzoek = new XMLHttpRequest();
      verzoek.open("GET", url, true);
      verzoek.send(null);
    }

    // Functie voor foutafhandeling
    function error(err) {
      console.warn('Fout ' + err.code + ': ' + err.message);  
    };

    if (navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(success, error, options);
    }
  </script>

</body>
</html>


Afhandeling in PHP
De callback wordt hier in een sessie geladen, maar je kunt hiervoor in de plaats een database gebruiken.

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
<?php
// Caching op de client of een proxyserver voorkomen
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');

// Breedtegraad en lengtegraad verwerken
if (isset($_GET['latitude'], $_GET['longitude'])) {
    session_start();
    $_SESSION['latitude']  = strip_tags($_GET['latitude']);
    $_SESSION['longitude'] = strip_tags($_GET['longitude']);
    if (isset($_GET['accuracy'])) {
        $_SESSION['accuracy'] = strip_tags($_GET['accuracy']);
    }
}


// Deze PHP-applet hoeft geen content terug te sturen
header('HTTP/1.1 204 No Content', true, 204);
?>


Testen
De geografische coördinaten moeten na het voorgaande zijn terug te vinden in de sessie.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
// Sessie hervatten
session_start();

// Inhoud van de superglobal array $_SESSION tonen
echo '<pre>';
print_r($_SESSION);
?>
Gewijzigd op 12/06/2013 10:53:54 door Ward van der Put
 
Chris PHP

Chris PHP

12/06/2013 10:49:01
Quote Anchor link
@Ward,

Er staat in je HTML5 voorbeeld een php openings teken. Dit gooit de hele markering om ;-)
Gewijzigd op 12/06/2013 10:49:41 door Chris PHP
 
Ward van der Put
Moderator

Ward van der Put

12/06/2013 10:54:41
Quote Anchor link
Chris NVT op 12/06/2013 10:49:01:
@Ward,

Er staat in je HTML5 voorbeeld een php openings teken. Dit gooit de hele markering om ;-)
Dat was voor de syntax highlighting, maar toch maar even aangepast.
 
Donny Wie weet

Donny Wie weet

12/06/2013 12:40:39
Quote Anchor link
Maar nou wil ik bijvoorbeeld afstanden berekenen tussen 2 long en lats, hoe bereken ik die? Is er daarvoor een formule?
 
Koen Vlaswinkel

Koen Vlaswinkel

12/06/2013 12:47:37
Quote Anchor link
Volgensmij zou je de Distance Matrix API kunnen gebruiken: https://developers.google.com/maps/documentation/webservices/?hl=nl
 
Ward van der Put
Moderator

Ward van der Put

12/06/2013 12:48:35
Quote Anchor link
Donny Wie weet op 12/06/2013 12:40:39:
Maar nou wil ik bijvoorbeeld afstanden berekenen tussen 2 long en lats, hoe bereken ik die? Is er daarvoor een formule?

Ja, dat kan met de ‘haversine’-formule. Een hinderlijke beperking is echter dat deze rekent met de gemiddelde straal van de aarde en de aarde geen perfecte bol is. Afhankelijk van de coördinaten kun je er dus enkele meters tot vele tientallen meters naast zitten.
 
Donny Wie weet

Donny Wie weet

12/06/2013 12:49:06
Quote Anchor link
Ik wil het het liefste zelf berekenen. Ik wil bijvoorbeeld een radius aan kunnen geven van 5 km.
 
Ward van der Put
Moderator

Ward van der Put

12/06/2013 13:02:28
Quote Anchor link
Donny Wie weet op 12/06/2013 12:49:06:
Ik wil het het liefste zelf berekenen. Ik wil bijvoorbeeld een radius aan kunnen geven van 5 km.

Voila, naar recept 131 uit het PHP Kookboek. Eet smakelijk :)
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
<?php
function getAfstandInMeters($lengtegraad1, $breedtegraad1, $lengtegraad2, $breedtegraad2)
{

    // Gemiddelde straal (r) van de aarde in meters
    $r = 6367000;
    // Hoogste nauwkeurigheid voor de functie pi() en de constante M_PI
    ini_set('precision', 49);
    // Graden omzetten in radialen
    $lengtegraad1  = ($lengtegraad1  * M_PI) / 180;
    $breedtegraad1 = ($breedtegraad1 * M_PI) / 180;
    $lengtegraad2  = ($lengtegraad2  * M_PI) / 180;
    $breedtegraad2 = ($breedtegraad2 * M_PI) / 180;
    
    /**
     * Haversine-formule
     *
     * dlat = lat2 - lat1
     * dlon = lon2 - lon1
     * a = sin^2(dlat/2) + cos(lat1) * cos(lat2) * sin^2(dlon/2)
     * c = 2 * arcsin(min(1, sqrt(a)))
     * d = r * c
     *
     * @link http://en.wikipedia.org/wiki/Haversine_formula
     * @link http://www.movable-type.co.uk/scripts/gis-faq-5.1.html
     */

    $dlat = $lengtegraad2 - $lengtegraad1;
    $dlon = $breedtegraad2 - $breedtegraad1;
    $a = pow(sin($dlat/2), 2) + cos($lengtegraad1) * cos($lengtegraad2) * pow(sin($dlon/2), 2);
    $c = 2 * asin(min(1, sqrt($a)));
    $d = $r * $c;
    $d = (int) round($d, 0);
    return $d;
}


/**
 * Afstand in kilometers berekenen tussen de Martinitoren in Groningen
 * (breedtegraad 53.218777, lengtegraad 6.566921) en het Vrijthof in
 * Maastricht (breedtegraad 50.848434, lengtegraad 5.688955).
 */

$puntABreedtegraad = 53.218777;
$puntALengtegraad  =  6.566921;
$puntBBreedtegraad = 50.848434;
$puntBLengtegraad  =  5.688955;
$afstandInKilometers = getAfstandInMeters($puntALengtegraad, $puntABreedtegraad, $puntBLengtegraad, $puntBBreedtegraad);
$afstandInKilometers = $afstandInKilometers / 1000;
$afstandInKilometers = round($afstandInKilometers, 1);
echo $afstandInKilometers, ' km';
?>
 
Donny Wie weet

Donny Wie weet

22/08/2013 19:03:44
Quote Anchor link
Ik herinnerde mezelf dat hier al eens iets over GeoLocation gezegd was... Echter werkt dit voorbeeld niet. ZOu iemand mij meer uitleg erover kunnen geven?
 
- Ariën  -
Beheerder

- Ariën -

22/08/2013 22:15:52
Quote Anchor link
Kan je wat duidelijker zijn dan: "Werkt niet"?
 



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.