Bug watchposition

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Employee Application Services

Employee Application Services (Clear), fulltime. Nieuw leven geven aan gebruikte materialen: een bijdrage aan duurzaamheid waar we een startend IT-talent goed bij kunnen gebruiken. Maak jij het verschil? Een dynamische werkweek: aan de slag Als Employee Application Services ben je onderdeel van onze ICT-afdeling Operations. Je zorgt samen met de Application Services Consultants dat de continuïteit van de beheerde applicaties (Clear) wordt gewaarborgd. Dat betekent dat je continu let op eventuele storingen en deze zo snel mogelijk verhelpt. De eerstelijns vragen komen bij jou terecht. Verder pak jij de casussen op die je aankunt. In overleg met de consultants schuif

Bekijk vacature »

Ervaren Ruby on Rails ontwikkelaars gezocht voor L

Functieomschrijving Je gaat als technical lead verschillende taken op je nemen, naast het dagelijkse ontwikkelwerk wordt er van je verwacht dat je een coachende rol richting junior ontwikkelaars zal hebben. Je zal van A tot Z verantwoordelijk zijn voor een project, daarom ben jij iemand die de leiding kan nemen, knopen kan door hakken en vooral ontzettend goed kan werken met Ruby on Rails. Je zal in je werk veel in contact staan met collega's van verschillende afdelingen, maar ook klantcontact zal tot je takenpakket gaan behoren. Binnen de organisatie is veel mogelijk, ook als Lead is er de ruimte

Bekijk vacature »

Android developer hartje Amsterdam

Functieomschrijving Voor deze succesvolle organisatie zijn we nu opzoek naar een Android ontwikkelaar met ervaring. Met je gedreven collega´s ga je samen dit nieuwe product verder ontwikkelen, finetunen en er hele mooie en verstandige tools rond omheen ontwikkelen. Je komt te werken in een relatief jong team van gedreven en enthousiaste ontwikkelaars die samen de groei vieren van dit bedrijf door elke dag het beste uit zichzelf en elkaar te halen. De sfeer onderling is positief en collega's hier delen graag kennis en ervaring met elkaar. We zoeken iemand met ongeveer 3 jaar ervaring als Android ontwikkelaar en bij voorkeur

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 »

Amsterdam - Senior Front End Developer (react)

Do you have at least 5 years experience with Front End development? Are you ready for a new challenge and do you love to work with the newest technologies in an innovative environment? Then this role as Front End Developer might be of interest to you. A growing company in Amsterdam, in the automation technology, is hiring a: Senior Front End developer - Amsterdam Summary: This is an excellent job opportunity for a Senior Front End developer who is ready for the next challenge in his or her career. You will be working at an innovative, successful and rapidly growing

Bekijk vacature »

Xamarin Developer

Jij weet dat apps het leven gemakkelijker maken en draagt daar graag aan bij. Sterker nog: jij wilt apps ontwikkelen die het verschil maken zonder daarbij in te leveren op veiligheid of gebruiksvriendelijkheid. Xamarin Development expert Als Xamarin Developer bij Sogeti ga je apps ontwerpen, uitwerken en realiseren, waarmee je jouw klanten – de top van het Nederlandse bedrijfsleven – vooruit helpt. Is het enkel Xamarin dat de klok slaat? Natuurlijk niet, jouw ambitie en leergierigheid maken dat je ook thuis bent in andere omgevingen. Bovendien breid je je kennis en ervaring graag uit, zodat je je ontwikkelt tot topprofessional!

Bekijk vacature »

Senior Android Developer - Global Product Developm

Senior Android Developer needed to join a market leading product development company in Amsterdam Zuid. The experienced Senior Android Developer will be adding to an existing global App, adding innovative features and creating new Apps for a growing market. You'll liase with both test and UX teams, as well as working with other App Developers. Role as Senior Android Developer: Programming and development of existing App / new Apps Liaising with our UX team to ensure a high quality look and feel Liaising with our test team to ensure all Apps on our platform are of the highest quality manage

Bekijk vacature »

Oracle Apex Ontwikkelaar

Wat je gaat doen: Als Oracle Ontwikkelaar werk je zowel zelfstandig als in teamverband aan het ontwikkelen en ontwerpen van software componenten. Je levert een bijdrage aan de ontwikkeling tot en met de implementatie. Je bent in staat om informatie te verzamelen,te analyseren en te documenteren van wensen en eisen van de eindgebruikers. Je bent in staat om functionele vereisten te vertalen naar technische specificaties, ontwikkelt web applicaties met behulp van Oracle Applicatie Express, door de veranderingen en ontwikkelingen van web formulieren en rapporten. Verbeteren van bestaande Oracle Apex Systemen. Ontwikkelen en veranderen van Oracle 11g database schema’s. Schrijven van

Bekijk vacature »

.NET C# ontwikkelaar gezocht (C#, Xamarin, Angular

.NET C# ontwikkelaar bij een slagvaardig en hard groeiend bedrijf met korte lijnen? In een omgeving waar je onder andere direct samen met de oprichter werkt aan het verder ontwikkelen van een vernieuwend product? Dan is deze vacature zeker iets voor jou. Voor een bedrijf in Rotterdam zijn we momenteel op zoek naar een .NET C# ontwikkelaar. Het gaat om klein bedrijf dat op een punt is aanbeland waar de vraag naar hun software flink aan het toenemen is. Hierdoor zijn ze op zoek naar meerdere .NET ontwikkelaars die samen met de oprichter en nog verschillende andere collega’s hun product

Bekijk vacature »

Technisch Ontwerper / Applicatieontwikkelaar max.

Wie zoeken we? Je bent de beste in je vak of hebt de ambitie en de potentie om de beste te worden. Je hebt de passie om nieuwe technologieën te blijven leren en continu jezelf te ontwikkelen. Je hebt de pioniersgeest en drive om nieuwe technologieën, methodieken en concepten toe te passen in projecten en bij klanten. Je vindt het leuk om kennis te delen met collega’s, klanten en vakgenoten. Je bent een ware professional en ambassadeur voor CIMSOLUTIONS. Je voelt je thuis in een informele, collegiale en professionele sfeer waar de aandacht voor de klant en voor de medewerker

Bekijk vacature »

Full Stack Developer

Ben je sociaal, maar ook een held in het ontwikkelen en uitbreiden van applicaties en customer interfaces? Dan hebben we iets voor jou! Google, Slack, AirBnB. Stuk voor stuk innovatieve IT bedrijven die met nieuwe technieken de werelden van respectievelijk zoeken, chatten en vakanties hebben doen veranderen. Bij onze opdrachtgever doen ze dit met de logistieke markt, door slimme technische oplossingen in te zetten om pakketten te bezorgen met behulp van privé chauffeurs. Wie ben jij? Als full stack developer kom je onze IT afdeling versterken. Je onderhoudt en verbetert de software van de organisatie. Je bent mede verantwoordelijk voor

Bekijk vacature »

Front-end developer

Jij weet wat er nodig is. Jouw hart gaat sneller kloppen van techniek. Jij wil vooruit. Ben jij de Front-end Developer die we zoeken? Je bent creatief, thuis in gebruikersinteractie en een gedreven engineer in hart en nieren. Daarnaast heb jij een klantgerichte en proactieve houding. Precies de kwaliteiten die een Front-end Developer nodig heeft. Wat doe je als Developer? Als Front-end Developer werk je aan de technische realisatie van front-end (web)applicaties in de verschillende uitdagende opdrachten voor Sogeti’s klanten. Dit kan zowel op klantlocatie zijn, als binnen het Center of Excellence van Sogeti. Jij houdt van het uitdenken en

Bekijk vacature »

Front-end (full-stack) developer - Zaandam

Ben jij opzoek naar een baan waar je aan innovatief product kan werken dat dagelijks door miljoenen mensen wordt gebruikt? In een Agile omgevingen werken met uitdaging, veel variatie en de kans om initiatief en verantwoordelijkheid te nemen? Dan is dit je kans! Front-end/full-stack developer Zaandam Bedrijf Dit bedrijf combineert high-quality hardware en software dat zorgt voor een succesvolle toegang tot verschillende faciliteiten. Denk aan bedrijven, vliegvelden, universiteiten, hotels en evenementen. Het wordt in-house ontwikkeld en continu vernieuwd, wat heeft geleid tot een van de meest succesvolle oplossingen van de afgelopen jaren. Rol Als front-end developer krijg je de kans

Bekijk vacature »

Java Lead developer / Micro-services die draaien o

Functieomschrijving Bouw mee aan een van de meest innovatieve development omgevingen van Nederland met ruim 8 miljoen unieke gebruikers! Ga aan de slag met Kubernetes in de Google Cloud, Apache Spark, Apache Beam, Terraform, Big Data, Java en diverse Google Cloud producten. Je bent onderdeel van een multidisciplinair team, waarin je nauw samen werkt met diverse engineers en analisten aan innovatieve oplossingen; Je denkt actief mee en adviseert over vraagstukken mbt de cloud architectuur; Je maakt ontwerpen voor nieuwe functionaliteiten en manieren voor data verwerking obv microservices architectuur; Als lead Java developer ben je ook verantwoordelijk voor het beheren en

Bekijk vacature »

Medewerker ICT Helpdesk

Het werken op een Helpdesk zit in je bloed. Dit is wat jij wilt. Als Medewerker Helpdesk neem je een belangrijke plek in binnen de afdeling ICT. Je geeft effectieve en klantvriendelijke ondersteuning en begeleiding aan gebruikers van ICT-middelen, lost technische en inhoudelijke vraagstukken voor hen op en levert jouw bijdrage aan het goed functioneren van de afdeling. Een verantwoordelijke en mooie uitdaging. Samen werken aan onze toekomst? We komen graag met je in contact. Dit ga je doen als medewerker ICT Helpdesk Als medewerker helpdesk heb je de volgende verantwoordelijkheden: Aannemen, registeren en bewaken van meldingen (incidenten en verzoeken)

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

22/02/2019 14:35:46
 
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.