Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα,

προσπαθώ να περάσω την μεταβλητή coordinates έξω από το function αλλά δεν τα καταφέρνω. Καμμιά ιδέα?

Το console.log μεσα στο function κανεί σωστά print ενώ έξω από αυτό φαίνεται να μην το αναγνωρίζει. Γιατί συμβαίνει αυτό? Αφού το coord ειναι global variable.

    var map = null;
    var geocoder = null;
    var coord = null;

    function initialize() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_canvas"));
        map.setCenter(new GLatLng(37.95, 23.75), 14);
        map.setUIToDefault();
        geocoder = new GClientGeocoder();

      }
    }

    function showAddress(address) {
      if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert(address + " not found");
            } else {
              map.setCenter(point, 15);
              var marker = new GMarker(point, {draggable: true});
              map.addOverlay(marker);
              GEvent.addListener(marker, "dragend", function() {
                coord = marker.getLatLng().toUrlValue(6)
                marker.openInfoWindowHtml(marker.getLatLng().toUrlValue(6));
              });
              GEvent.addListener(marker, "click", function() {
                coord = marker.getLatLng().toUrlValue(6)
                marker.openInfoWindowHtml(marker.getLatLng().toUrlValue(6));

                //console.log('coordinates', coord);
            
              });

          GEvent.trigger(marker, "click");
            }
          }
        );
      }
    }
console.log('coordinates', coord);

 

  • Moderators
Δημοσ.

Όταν τρέχεις το εξωτερικό

console.log('coordinates', coord); 
δεν νομίζω ότι έχει τρέξει κάτι που αρχικοποιεί το coord.

 

Εφόσον είναι εκτός κάποιας συνάρτησης, η συγκεκριμένη εντολή θα εκτελεστεί άμεσα μόλις το loading της σελίδας φτάσει στο συγκεκριμένο σημείο του scipt.

  • Moderators
Δημοσ.

Αυτό που κάνει ο παραπάνω κώδικας από μόνος του είναι:

Αρχικοποιεί map, geocoder και coord σε null, ως global μεταβλητές.

Ορίζει τις συναρτήσεις initialize() και showaddress(). 

Δεν τις καλεί.

Καλεί το console.log('coordinates', coord); 

 

Οπότε επόμενο είναι σε εκείνη την φάση να είναι null το coord.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...