Bug watchposition

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior .NET Developer

Organisatie Voor een van onze business partners in regio Utrecht zijn wij op zoek naar een senior .NET developer voor een interne functie. Wil jij duidelijk de voordelen van de door jou gemaakte software terug zien in de maatschappij? Zoek dan niet verder! Bij deze innovatieve scale-up draag jij bij aan het inzichtelijk maken van persoonlijke zorgtrajecten voor patiënten. Tijdens het sporten een heftige blessure opgelopen waardoor je maanden moet revalideren? Dan is het wel zo prettig als je via een app precies kunt zien waar jij staat in jouw revalidatie, wanneer je weer langs moet komen voor een gesprek

Bekijk vacature »

Junior PHP Backend Koning Maatwerkapplicaties

Organisatie Deze jonge organisatie is in 2010 ontstaan en begonnen met het maken en beheren van websites. Het online “visitekaartje” van de klant. Voor sommige bedrijven is dit leuk om te doen en voldoende om tevreden te blijven, niet voor dit bedrijf. Zij hebben daarom de “simpele” websites achter zich gelaten en besloten zich vanaf 2014 volledig te focussen op het bouwen van hoogwaardige maatwerk software en complete SaaS pakketten met meer dan 80.000 eindgebruikers wereldwijd. In feite bouwen ze alles achter het login scherm. Op dit moment werken er 17 mensen waarvan 3 zich focussen op het binnen halen

Bekijk vacature »

Medior PHP Developer Serious Gaming

Organisatie Dit bedrijf is eens wat anders dan een tech-bedrijf wat maatwerksoftware bouwt of interne software door ontwikkelt. Bij dit bedrijf maak je echt verschil in de wereld. Het idee voor dit product ontstond “ver” terug in 2009 nadat een student samen met haar professor in gesprek ging om het leven van mensen met een handicap leuker te maken. In 2015 is dit idee uitgegroeid tot een werkend product wat mensenlevens bewezen verbetert! Inmiddels focussen ze zich niet meer op ouderen met dementie maar bijvoorbeeld ook op kinderen met autisme en mensen met een andere lichamelijke of verstandelijk handicap. Dit

Bekijk vacature »

Java Full Stack Developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Full Stack Developers om ons development team te versterken. Als Full Stack developer werk je in Agile teams bij onze klanten en ben je verantwoordelijk voor alle lagen van de stack. Ben je beter in de backend, dan helpen we je verder met de front-end en andersom natuurlijk. Je gaat hoogwaardige software maken voor verschillende opdrachtgevers in jouw regio. Je ontwikkelt, adviseert over architectuur en past de nieuwste technologieën toe. Je bent een professional die het IT-vak serieus

Bekijk vacature »

digitaal specialist

Wat ga je doen? Als digitaal specialist concentreer je je op de opsporing van strafbare feiten in de digitale omgeving. Je ondersteunt bij complexe onderzoeken met het doorzoeken van woningen en bedrijven en het veiligstellen van informatie uit netwerken. Hierbij werk je veelal met vastgestelde forensische tools. Je verzamelt, combineert en analyseert gegevens uit diverse digitale bronnen en herkent trends en afwijkende patronen die reden zijn voor verder onderzoek. Soms moeten grote hoeveelheden data in korte tijd onderzocht worden. Je bent intermediair tussen de digitale techniek en de recherche en je adviseert over een effectieve aanpak. Oftewel, je vormt de

Bekijk vacature »

iOS Developer

Je bent innovatief. Je bent creatief. Jij gaat voor een topbaan. Aan de slag als iOS-professional Mobile apps ontwerpen, uitwerken en realiseren, dat is jouw passie! Met grote toewijding richt jij je dan ook op een app waarmee consumenten met een gezichtsscan betalen. Of je stort je je op een app die de temperatuur in huis op afstand kan regelen. Het spreekt voor zich dat jouw apps top of the bill zijn als het gaat om gebruiksvriendelijkheid en veiligheid. Ze hebben impact. Je voelt je als een vis in het water in een iOS-omgeving maar, veelzijdig als je bent, kun

Bekijk vacature »

Java Developer

Heb jij diepgaande interesse in technologie en ben jij goed op de hoogte van ontwikkelingen en innovaties? Weet jij hoe je de verbinding moet maken tussen business en techniek bij onze klanten binnen de transport sector? CGI heeft een vacature voor de functie van Java Developer Fulltime Wat ga je doen als Java Developer? Als Java developer bij CGI maak je deel uit van de grootste en meest actieve JAVA community van Nederland. Je helpt als gedreven ontwikkelaar complexe systemen te realiseren voor onze klanten. Je maakt in eenvoudige taal aan een klant duidelijk welke softwareoplossingen op zijn of haar

Bekijk vacature »

Junior backend PHP developer

Organisatie Onze klant te Wormerveer is op zoek naar een junior PHP developer. Ben jij net klaar met je studie Applicatieontwikkeling, Informatica of Computer Science of ben je vanuit je zelf al jaren hobbymatig aan het programmeren? Deze organisatie heeft een hele interessante uitdaging voor je klaar liggen. Vanuit het hoofdkantoor in Wormerveer worden de andere vestigingen in Minneapolis (VS) en Spanje aangestuurd. Deze internationaal opererende organisatie met commercieel oogpunt is gespecialiseerd in verenigingsmanagement. Dit houdt in dat zij wereldwijd een belangrijke speler zijn bij het organiseren van congressen en evenementen van vooral medische verenigingen. Daarnaast verzorgen zij het management

Bekijk vacature »

Junior+ Medior Backend PHP

Organisatie Met 10 man sterk maakt deze organisatie de gaafste campagnes. Een campagne maken duurt gemiddeld 6 tot 8 weken waarna de campagne vervolgens ook 6 tot 8 weken online zal zijn. Dit doet deze organisatie niet alleen voor grote merken zelf maar ook voor Nederlands grootste reclame bureaus. Naast de campagnes wordt er ook veel gebrainstormd over eigen projecten en producten en is deze organisatie bezig om ook hun eigen product te lanceren. Bij deze organisatie vind iedereen het heel belangrijk om ook genoeg tijd voor hun privé leven te hebben, daarom wordt er lang niet iedere week een

Bekijk vacature »

Senior Ontwikkelaar .NET

Organisatie Voor een van PHIND’s businesspartners ben ik opzoek naar een ervaren C# .NET Ontwikkelaar. Het draait om een grote creative agency, waar jij jezelf dagelijks bezig gaat houden met uitdagende .NET projecten. Het bedrijf focust zich op de webdevelopment voor grote klanten in de financiële wereld. Denk hierbij aan grote banken, verzekeraars en andere instellingen. Jij als Senior Ontwikkelaar gaat werken aan de websites en mobiele applicaties van deze bedrijven. De organisatie in kwestie heeft een aantal grote key-accounts die constant onderhoudt en optimalisatie nodig hebben met betrekking tot hun webapplicaties. Daarnaast zijn er ook andere klanten waar jij

Bekijk vacature »

Gedreven Medior PHP developer

Organisatie Stel je voor; je schakelt binnen een van de meest toonaangevende organisaties binnen de zorg- en verzekeringsbranche. De informatie die feilloos door de zeer complexe applicaties stroomt die jij en je team elke dag weer perfectioneren is uiterst betrouwbaar. Jij bent dan ook een absolute PHP-held die zich kan vinden in het gezegde; ‘’onmogelijk bestaat niet, het kost alleen wat meer tijd’’. Je bekleed de rol van PHP developer binnen een team van absolute eindbazen op het gebied van software development. De producten en opdrachten zijn zeer divers, maar dat jij telkens weer diep in de code duikt verandert

Bekijk vacature »

React Developer

Organisatie Als ervaren React Developer werk je niet voor, maar mét klanten als Eneco, Van Lanschot, De Goudse verzekeringen of Dunea om het beste neer te zetten. Van het begin tot het eind blijf je betrokken bij alle aspecten van een project. Jij bent dé schakel tussen design, interactie en implementatie. Samen met je team realiseer je slimme en herbruikbare oplossingen die bepalend zijn voor de business van je klanten. Je kijkt verder dan dat ene component, je helpt je collega’s graag groeien en bent niet bang om te presenteren waar jij trots op bent. Daarna staat er natuurlijk een

Bekijk vacature »

teamleider cybercrime

Wat ga je doen? Als teamleider stuur je een multidisciplinair cybercrimeteam aan, waarin rechercheurs en specialisten gezamenlijk cybercrime bestrijden. Het team bezit een juiste mix van kennis en vaardigheden om de gestelde doelstellingen te behalen. Je bewaakt de bezetting van het team, werkt mee aan de verdere opbouw en zorgt voor synergie. Vanuit jouw rol creëer je een open en transparante cultuur waarin kennisdeling en ontwikkeling van het individu vanzelfsprekend is. Samen met jouw team vertaal je de landelijke strategie en het beleid naar een lokale aanpak en voer je deze uit. Je stuurt daarbij actief op het resultaat. Je

Bekijk vacature »

Medior Fullstack developer Tech bedrijf

Voor deze gave organisatie in Amsterdam zijn we op zoek naar goede full stack developers die dit geweldige team van developers wilt gaan versterken. De organisatie is zo’n 40 man groot en heeft op dit moment een development team bestaande uit 10 ontwikkelaars. Niet gek dat elke developer die hier werkt enthousiast is over de organisatie. Zij zitten namelijk in de luxe positie alleen toffe projecten aan te nemen waar ze achter staan. Het is voor hun belangrijk dat de projecten leuk en technisch uitdagend genoeg zijn zodat alle ontwikkelaars hun passie kwijt kunnen. Naast dat ze aan projecten voor

Bekijk vacature »

Medior PHP Developer

Organisatie Dit gezellige familiebedrijf is 12 jaar geleden opgericht door vader en zoon. Samen hebben zij hun affiniteit voor programmeren en onderwijs gecombineerd in geavanceerde software voor scholen. Vanuit hun vestiging in Weesp wordt er met 5 man sterk gewerkt aan een product dat door honderden scholen in Nederland, Aruba en Curaçao wordt afgenomen. Nu ze jaren lang marktleider zijn is er besloten om hun dienstverlening uit te breiden en de software door te gaan ontwikkelen. Hetgeen dat dit bedrijf zo aangenaam maakt voor de developers is de informele sfeer in combinatie met de hoge verantwoordelijkheid. Er is erg veel

Bekijk vacature »

Pagina: 1 2 volgende »

Daniel van Seggelen

Daniel van Seggelen

14/03/2017 14:04:41
Quote Anchor link
Er is een bug want watchposition werkt niet zoals staat beschreven.
Hij laad de functie elke keer weer, zonder dat het apparaat veranderd van locatie. Zelfs via mijn laptop.

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
window.setInterval(function() {
        showlocation();
      }
  , 2000);  // 2000==2 seconds
      function showlocation() {
        navigator.geolocation.watchPosition(callback);
      }
      function callback(position) {
        var lat = position.coords.latitude;
        var lng = position.coords.longitude;
        $.post('<?=HTML_ROOT?>inc/addcurrentloc.php', 'lat=' + lat + '&lng=' + lng, function(response) {
          console.log(response);
        }
              );;
      }


om de 2 seconde word de callback geladen. Hij hoort zo te werken dat hij hem alleen laad als de positie wijzigd.
Weet iemand waarom?
 
PHP hulp

PHP hulp

25/04/2019 10:58:55
Honeypot
 
Ivo P

Ivo P

14/03/2017 15:05:12
Quote Anchor link
De letter T lijkt wat te haperen?? (een keer of 5)

Met welke browser probeer je dit uit?
 
Daniel van Seggelen

Daniel van Seggelen

14/03/2017 15:44:53
Quote Anchor link
Letter T waar?
Ik gebruik chrome.

Ik lees een vergelijkbaar probleem hier: http://stackoverflow.com/questions/6183463/when-using-setinterval-if-i-switch-tabs-in-chrome-and-go-back-the-slider-goes

Ik heb alle oplossingen daar geprobeert, maar er veranderd niks.
Als ik van tab verwissel en weer terug ga dan laad hij het meerdere keren hoe langer ik dus niet op de tab ben gefocussed, hoe meer hij dat inhaalt.

UPDATE

Firefox doet nog veel erger. om de 1 MS worden er ruim 10 calls aangeroepen. ONgelofelijk veel.

Is hier geen normale oplossing voor?

Ik denk dat mensen beter "getCurrentPosition" kunnen gebruiken om de x aantal sseconden, want anders word je server overloaded, erg slecht die watch position dus.

Als ik wat options erbij die:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
var options = {enableHighAccuracy: false,timeout: 5000,maximumAge: 0,desiredAccuracy: 0, frequency: 1 };

  function showlocation() {
        navigator.geolocation.watchPosition(callback,error,options);
      }


Ik krijg dan steeds ERROR(3): Timeout expired
als ik van tab 1 seconde wissel en terug kom, dan zijn er 100den calls gedaan.
Gewijzigd op 14/03/2017 16:22:59 door Daniel van Seggelen
 
Ivo P

Ivo P

14/03/2017 16:51:14
Quote Anchor link
draait je site op SSL?

Chrome zou dat niet meer zonder willen accepteren. (geolocation is gevoelige info)

--------------
hij laadt
het apparaat verandert
etc
 
Daniel van Seggelen

Daniel van Seggelen

14/03/2017 16:58:54
Quote Anchor link
Ja het moet onder SSL idd, maar ik test het via localhost, dat word ook toegelaten door chrome, maar het probleem kan ik tot nu toe nog niet oplossen.
 
Ben van Velzen

Ben van Velzen

14/03/2017 17:01:37
Quote Anchor link
Als je iedere keer een nieuwe watchposition maakt met setInterval, waarom verwacht je dan dat hij echt kan watchen? Je stelt 1 keer een callback in, niet elke 2 seconden. Zo te zien ligt de bug niet in watchposition, maar in het feit dat je het niet als watch gebruikt maar om direct de locatie op te vragen. Dat geeft uiteraard initieel altijd een resultaat, en niet alleen wanneer de positie verandert.
Gewijzigd op 14/03/2017 17:03:19 door Ben van Velzen
 
Daniel van Seggelen

Daniel van Seggelen

14/03/2017 17:06:53
Quote Anchor link
De reden is omdat wanneer ik deze wijze niet gebruik, zelfs met mijn laptop, dan blijft hij de watchposition functie aanroepen, terwijl ik niet van locatie verander.

Ik zoek dus een manier dat ik watchposition kan instellen om de positie om de x aantal sec te bekijken en de callback functie uitvoert. Ik wil geen serveroverload als 1000 gebruikers deze functie gebruiken op deze manier

Deze functie zet de coordinaten in de database alleen als het verschil met de vorige locatie groter is dan 10 meter.
Gewijzigd op 14/03/2017 17:08:18 door Daniel van Seggelen
 
Ben van Velzen

Ben van Velzen

14/03/2017 17:10:45
Quote Anchor link
Dan zet je die eisen in de callback functie, het gebruik van setInterval is nergens voor nodig en werkt averechts.
 
Daniel van Seggelen

Daniel van Seggelen

14/03/2017 17:19:25
Quote Anchor link
Maar als ik die eisen in de callback functie wil zetten, hoe doe ik dat dan anders als setinterval of settimeout ?

UPDATE,

ook al gebruik ik die setinterval niet,dus
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
var options = {enableHighAccuracy: false,timeout: 5000,maximumAge: 0,desiredAccuracy: 0, frequency: 1 };

watchID = navigator.geolocation.watchPosition(callback, error, options);

      function callback(position) {
        var lat = position.coords.latitude;
        var lng = position.coords.longitude;
        $.post('<?=HTML_ROOT?>inc/addcurrentloc.php', 'lat=' + lat + '&lng=' + lng, function(response)
        {
          console.log(response);
        }
       );
      }


het blijft net zo buggy, elke keer als ik van tab verwissel en weer terug ga, dan word de call 5 keer aangeroepen binnen 1 seconde.
watchposition ziet dus niet goed of een apparaat beweegt of niet.
Gewijzigd op 14/03/2017 17:23:41 door Daniel van Seggelen
 
Ben van Velzen

Ben van Velzen

14/03/2017 17:39:48
Quote Anchor link
>> watchposition ziet dus niet goed of een apparaat beweegt of niet.
Waarom controleer je dan niet in de callback functie of de positie veranderd is?
 
Daniel van Seggelen

Daniel van Seggelen

14/03/2017 18:05:21
Quote Anchor link
Ik doe dat nu in de backend met php, maar hij blijft de callback aanroepen. Ik zoek een manier om de callback niet zo vaak aan te roepen, dus om de 10 seconde bijv. Of als er een manier in om de controleren in de clintside wat de laatste positie is, wat voor minder overhead zorgt, dat ga ik daarvoor.
Hij bekijkt nu dus al in addcurrentloc.php of de positie veranderd is, dat zit in de callback functie, maar ik probeer de overhead te minimaliseren.
 
Ben van Velzen

Ben van Velzen

14/03/2017 18:13:32
Quote Anchor link
Je moet het op het frontend controleren, dan filter je automatisch alles weg wat je niet nodig hebt.
Hoe lastig is dat?
 
Daniel van Seggelen

Daniel van Seggelen

14/03/2017 18:21:56
Quote Anchor link
Alles is makkelijk als je weet hoe.Ik kan hier geen goede oplossing voor vinden zonder een overhead.
Heb je advies?
 
Ben van Velzen

Ben van Velzen

14/03/2017 18:42:55
Quote Anchor link
Hoezo niet? Je slaat in je callback functie op wat de laatst bekende positie was. Wanneer deze gelijk is aan de huidige positie return je uit de callback zonder een request te doen. Hetzelfde geldt voor afstand, gewoon vergelijken met de laatst bekende positie. Dit hoeft niet in PHP (al is het handig om het daar ook te doen) en kan gewoon in je callback functie.
 
Daniel van Seggelen

Daniel van Seggelen

14/03/2017 18:53:45
Quote Anchor link
Ik ben geeen query expert, mijn vraag is dus, hoe doe ik dit in jquery/js ? Alvast bedankt
 
Ivo P

Ivo P

14/03/2017 19:00:14
Quote Anchor link
zonder de code verder te controleren:

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
var options = {enableHighAccuracy: false,timeout: 5000,maximumAge: 0,desiredAccuracy: 0, frequency: 1 };

watchID = navigator.geolocation.watchPosition(callback, error, options);
var prevlat = 0;
var prevlng = 0;

      function callback(position) {
        var lat = position.coords.latitude;
        var lng = position.coords.longitude;
        if(prevlat != lat || prevlng != lng) {
          prevlat = lat;
          prevlng = lng;
          $.post('<?=HTML_ROOT?>inc/addcurrentloc.php', 'lat=' + lat + '&lng=' + lng, function(response)
          {
            console.log(response);
          }
        }
       );
      }
 
Ben van Velzen

Ben van Velzen

14/03/2017 19:00:14
Quote Anchor link
Basisopzetje, het maakt niet uit "hoe goed" je bent, je moet de logica gewoon doorgronden.

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
var options = {enableHighAccuracy: false,timeout: 5000,maximumAge: 0,desiredAccuracy: 0, frequency: 1 };
var oldlat = 0;
var oldlng = 0;

watchID = navigator.geolocation.watchPosition(callback, error, options);

function callback(position) {
  var lat = position.coords.latitude;
  var lng = position.coords.longitude;
  if (lat == oldlat && lng == oldlng) {
    return;
  }
  oldlat = lat;
  oldlng = lng;
  $.post('<?=HTML_ROOT?>inc/addcurrentloc.php', 'lat=' + lat + '&lng=' + lng, function(response)
    {
     console.log(response);
    }
  );
}
 
Ivo P

Ivo P

14/03/2017 19:00:56
Quote Anchor link
vrijwel gelijk :-)
 
Daniel van Seggelen

Daniel van Seggelen

14/03/2017 19:43:33
Quote Anchor link
Dit is niet wat ik bedoel.Op deze manier kijk je gewoon of de oude coordinates exact hetzeflde zijn en de nieuwe.

ik wil erachter komen, hoe ik de afstand van de oude en nieuwe coordinaten in meters kan berekenen.
Als de nieuwe locatie 1 meter is, dan wil ik die call naar addcurrentloc.php niet uitvoeren. Zoals ik aangaf is de watchposition niet foutloos. Hij blijft aangeven dat mijn locatie een aantal centimeters wellciht veranderd, terwijl hij niets veranderd. Als de afstand min 5 meter is, dan wil ik die call uitvoeren.

ik denk dat deze wel juist is

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
Alleen als de site verniewd word en oldlat,oldlng dan leeggehaald? hoe lang blijf hij dat onthouden? Wellicht beter in php sessies opslaan...
function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) {
  var R = 6371; // Radius of the earth in km
  var dLat = deg2rad(lat2-lat1);  // deg2rad below
  var dLon = deg2rad(lon2-lon1);
  var a =
    Math.sin(dLat/2) * Math.sin(dLat/2) +
    Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
    Math.sin(dLon/2) * Math.sin(dLon/2)
    ;
  var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
  var d = R * c; // Distance in km
  return d / 1000;
}
 
Ben van Velzen

Ben van Velzen

14/03/2017 20:11:36
Quote Anchor link
Het ging om een basisopzet, zodat je de logica zou snappen. Het ging er niet om dat het de perfecte oplossing zou zijn, dat wordt ook nergens beweerd.
 
Daniel van Seggelen

Daniel van Seggelen

14/03/2017 20:24:15
Quote Anchor link
ok duidelijk :)
 

Pagina: 1 2 volgende »



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.