Mam skrypt (a), który jest skryptem JavaScript, w którym mam tę funkcję:

function csf_viewport_bounds() {
    var bounds = map.getBounds();
    var ne = bounds.getNorthEast();
    var sw = bounds.getSouthWest();

    var maxLat = ne.lat();
    var maxLong = ne.lng();
    var minLat = sw.lat();
    var minLong = sw.lng();

    var the_maps_bounds = [maxLat, maxLong, minLat, minLong];

    return(the_maps_bounds);
 }

Mam też skrypt jQuery (b). Ma linię, która wywołuje funkcję (a):

google.maps.event.addListener(map, 'tilesloaded',  csf_viewport_bounds);

Jak mogę uzyskać dostęp do tego, co jest zwracane przez (a), the_maps_bounds, w skrypcie (b)?

Dziękuję Ci.

-1
Laxmidi 27 wrzesień 2011, 20:48

3 odpowiedzi

Najlepsza odpowiedź

Zakładam, że chcesz coś zrobić po tilesloaded, który obejmuje the_maps_bounds, w którym to przypadku zrobiłbyś coś w rodzaju:

google.maps.event.addListener(map, 'tilesloaded',  function() {
    // This code will only execute after event `tilesloaded` happens

    var the_maps_bounds = csf_viewport_bounds()

    // now do something with the bounds
    // ...
});
1
mmcnickle 27 wrzesień 2011, 16:52

Po prostu zadzwoń do funkcji po raz drugi, ponieważ nie używa żadnych parametrów i przypisuje wynik do zmiennej.

var myStuff = csf_viewport_bounds()
1
Diodeus - James MacFarlane 27 wrzesień 2011, 16:51

Zmień skrypt (b) do:

var bounds = csf_viewport_bounds();
google.maps.event.addListener(map, 'tilesloaded', bounds);
// csf_viewport_bounds() return saved as local variable bounds.
0
Furbeenator 27 wrzesień 2011, 16:51