| Autor | Zpráva | ||
|---|---|---|---|
| PetrHH Profil |
#1 · Zasláno: 10. 8. 2011, 09:33:40 · Upravil/a: PetrHH
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 |
#2 · Zasláno: 11. 8. 2011, 07:38:04 · Upravil/a: peta
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 |
#3 · Zasláno: 11. 8. 2011, 12:43:23
Aha, už chápu, díky.
|
||
|
Časová prodleva: 15 let
|
|||
0