Hallo,
Ik heb een JS class geschreven voor het gebruik van de navigator.geolocation.watchPosition functie (deze functie is bedoeld om de geografische locatie mbv GPS/WiFi te bepalen, en werkt momenteel nog niet in elke browser). De watchPosition functie kent 3 argumenten, waarvan de eerste 2 callbacks zijn (succes/fail callbacks).
De reden dat ik een class gebruik is omdat er nogal wat variablen moeten worden opgeslagen, en daar ligt dan ook mijn probleem: Variables in een class kun je defineren met this.variablenaam. Echter, wanneer de watchPosition functie de callback aanroept, is this niet meer een verwijzing naar het object, maar naar... navigator.geolocation neem ik aan?
De callback functie is een methode van de class, ik roep watchPosition dan ook als volgt aan: navigator.geolocation.watchPosition(this.succes,this.fail). Die succes functie is dan weer gedefineerd door: geoObject.prototype.succes=function(position){ .... }
In die callback functie moeten een aantal variablen van het object gebruikt worden, en een method aangeroepen worden. this.methodenaam() doet echter niks meer, en na lang zoeken trok ik de conclusie dat THIS niet meer naar het object verwijst, en daardoor de methoden niet meer 'werken'.
Ik hoop dat het zo duidelijk is, ik ben namelijk zelf ook niet helemaal zeker van het probleem... Hoe dan ook, als this inderdaad niet meer naar het object verwijst, hoe kan ik dit dan oplossen?
Lapixx
Ik heb een JS class geschreven voor het gebruik van de navigator.geolocation.watchPosition functie (deze functie is bedoeld om de geografische locatie mbv GPS/WiFi te bepalen, en werkt momenteel nog niet in elke browser). De watchPosition functie kent 3 argumenten, waarvan de eerste 2 callbacks zijn (succes/fail callbacks).
De reden dat ik een class gebruik is omdat er nogal wat variablen moeten worden opgeslagen, en daar ligt dan ook mijn probleem: Variables in een class kun je defineren met this.variablenaam. Echter, wanneer de watchPosition functie de callback aanroept, is this niet meer een verwijzing naar het object, maar naar... navigator.geolocation neem ik aan?
De callback functie is een methode van de class, ik roep watchPosition dan ook als volgt aan: navigator.geolocation.watchPosition(this.succes,this.fail). Die succes functie is dan weer gedefineerd door: geoObject.prototype.succes=function(position){ .... }
In die callback functie moeten een aantal variablen van het object gebruikt worden, en een method aangeroepen worden. this.methodenaam() doet echter niks meer, en na lang zoeken trok ik de conclusie dat THIS niet meer naar het object verwijst, en daardoor de methoden niet meer 'werken'.
Ik hoop dat het zo duidelijk is, ik ben namelijk zelf ook niet helemaal zeker van het probleem... Hoe dan ook, als this inderdaad niet meer naar het object verwijst, hoe kan ik dit dan oplossen?
Lapixx