object buiten functie aanroepen
Veur Heur
25/07/2015 02:10:57Ik gebruik de volgende code van de Google DistanceMatrixService
Deze levert een object distances op welke ik een stukje verder in mijn code wil gebruiken. Het probleem wil echter dat ik in de volgende snippet wel het hele object kan zien (console.log) maar geen deel.
Roep ik de text waarde misschien verkeerd aan?
Net na het afsluiten van "if(status === google.maps.DistanceMatrixStatus.OK) {" kan ik het volgende zonder problemen aanroepen: console.log(distances[0].text]); => lukt niet binnen de 2e loop.
Help?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var distances={};
var distanceService = new google.maps.DistanceMatrixService();
distanceService.getDistanceMatrix({
origins: [localStorage.getItem('latitude')+','+localStorage.getItem('longitude')],
destinations: destinations,
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
durationInTraffic: true,
avoidHighways: false,
avoidTolls: false
},
function (response, status) {
if(status === google.maps.DistanceMatrixStatus.OK) {
$.each(response.rows[0].elements, function(key, value) {
distances[key]={text:value.distance.text, value:value.distance.value};
});
}
});
var distanceService = new google.maps.DistanceMatrixService();
distanceService.getDistanceMatrix({
origins: [localStorage.getItem('latitude')+','+localStorage.getItem('longitude')],
destinations: destinations,
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
durationInTraffic: true,
avoidHighways: false,
avoidTolls: false
},
function (response, status) {
if(status === google.maps.DistanceMatrixStatus.OK) {
$.each(response.rows[0].elements, function(key, value) {
distances[key]={text:value.distance.text, value:value.distance.value};
});
}
});
Deze levert een object distances op welke ik een stukje verder in mijn code wil gebruiken. Het probleem wil echter dat ik in de volgende snippet wel het hele object kan zien (console.log) maar geen deel.
Code (php)
1
2
3
4
2
3
4
$.each(result.posts, function(key, value) {
console.log(distances); //lukt wel
console.log(distances[key].text]); //lukt niet => TypeError: distances[key] is undefined
});
console.log(distances); //lukt wel
console.log(distances[key].text]); //lukt niet => TypeError: distances[key] is undefined
});
Roep ik de text waarde misschien verkeerd aan?
Net na het afsluiten van "if(status === google.maps.DistanceMatrixStatus.OK) {" kan ik het volgende zonder problemen aanroepen: console.log(distances[0].text]); => lukt niet binnen de 2e loop.
Help?
PHP hulp
26/04/2024 06:09:01Marthijn Buijs
25/07/2015 08:07:15Thomas van den Heuvel
25/07/2015 11:11:18Ook roep je distances (die weliswaar de juiste scope heeft waarschijnlijk) mogelijk te vroeg aan. Deze krijgt haar waarden uit een callback functie. Dit is dus een asynchrone call, je weet op voorhand niet wanneer deze de resultaten binnen heeft.
Mogelijk heb je hier iets aan.
Mogelijk heb je hier iets aan.