Autor Zpráva
PetrHH
Profil
Dobrý den,

už dva dny se tu mořím s problémem jak vrátit hodnotu z funkce. Snažím se pomocí google map vypočítat vzdálenost mezi dvěma body. Polohu zjištuji z adresy takto:

   
 function codeAddress(address) {
     geocoder.geocode( { 'address': address}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
          return results[0].geometry.location;
        } else {
          alert("Geocode was not successful for the following reason: " + status);
        }
      });
    }


když pak chci zobrazit výsledek pomocí třeba:

alert(codeAddress("Moje vlastni adresa"));


Dostanu pouze UNDEFINED a to je vše. Nejde to ani když si udělám proměnnou do které výsledek funkce přiřadím:

var  poloha = new  google.maps.LatLng(0,0);
poloha = codeAddress("Moje vlastni adresa");
alert(poloha);


Dostanu 0,0 jako bylo defaultně nadefinováno.

Pokud udělám globální proměnnou, do které se s snažím v té funkci codeAddress uložit výsledek, stejně dostanu UNDEFINED.

Moc prosím, nevíte co dělám blblě? Potřeboval bych dostat z funkce polohu abych mohl vypočítat vzdálenost mezi dvěma body a pak je zobrazit na mapě. Už mi došly nápady a google rady.

Petr
peta
Profil
PetrHH:
Jo, protoze tam zadny return nemas. Prepisi ti to symbolicky, treba na to prijdes. tohle tam mas
function bbb(results, status)
{
...
return results[0].geometry.location;
...
}
function aaa(address)
{
ccc(parametry, bbb); // kde vidis return?
}
PetrHH
Profil
Aha, už chápu, díky.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0