object buiten functie aanroepen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Veur Heur

Veur Heur

25/07/2015 02:10:57
Quote Anchor link
Ik gebruik de volgende code van de Google DistanceMatrixService

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 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};
        });
    }
});


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)
PHP script in nieuw venster Selecteer het PHP script
1
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
});


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

PHP hulp

26/04/2024 06:09:01
 
Marthijn Buijs

Marthijn Buijs

25/07/2015 08:07:15
Quote Anchor link
In de 2e console.log staat een extra ] teveel..
 
Thomas van den Heuvel

Thomas van den Heuvel

25/07/2015 11:11:18
Quote Anchor link
Ook 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.
 



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.