Ver Mensaje Individual
  #9 (permalink)  
Antiguo 14/05/2015, 18:16
Avatar de pr0x
pr0x
 
Fecha de Ingreso: mayo-2015
Mensajes: 5
Antigüedad: 9 años
Puntos: 0
De acuerdo Respuesta: Llama a variables dentro de una funcion

Código:
    var results = new L.LayerGroup().addTo(map);      
           
            searchControl.on("results", function (data) {
                results.clearLayers();
                for (var i = data.results.length - 1; i >= 0; i--) {
                    results.addLayer(L.marker(data.results[i].latlng));
                    coorx = data.results[i].latlng.lat;//Variable a llamar
                    coory = data.results[i].latlng.lng; //Variable a llamar
                };
    });
     alert(coorx);//No funciona
Tu problema radica en el tiempo de vida de la variable coorx aunque es globlal esta no existe en nivel donde la colocas ya que la inicializas cuando se dispare el evento results.
Es por eso que si la quieres mostrar la deves porner dentro de la funcion que se ejecuta cuando se dispara el evento que es la solución que te dan. dentro de la func anonima:
Código:
...
   searchControl.on("results", function (data) {
     results.clearLayers();
     for (var i = data.results.length - 1; i >= 0; i--) {
           results.addLayer(L.marker(data.results[i].latlng));
                    coorx = data.results[i].latlng.lat;//Variable a llamar
                    coory = data.results[i].latlng.lng; //Variable a llamar
      };
      alert(coorx); //aki es don vas
      //puedes desfinir una funcion fuera y llamarla para desacoplar
      //mejor el codigo ej: logica_mycode(coorx)
    }