Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Zmienna globalna w funkcji
Forum PHP.pl > Forum > Przedszkole
kkuubbaa88
witam

mam problem z zmienna globalna. sprawa prosta i oczywista, ale niestety z nieznanych mi przyczyn nie chce działać poprawnie. Problem nie tyle jest z google maps, a z funkcja, która krzyczy, ze zmienna nie została zadeklarowana.

[JAVASCRIPT] pobierz, plaintext
  1. var geo;
  2. var mapa;
  3.  
  4. function wskaz_punkt(zmienna,zmienna2){
  5. geo.getLatLng(zmienna,function(punkt){
  6. if (!punkt){
  7. alert('Adres nie został automatycznie znaleziony. Wskaż go ręcznie na mapie.');
  8. }else{
  9. mapa.setCenter(punkt, zmienna2);
  10. mapa.clearOverlays();
  11. var marker = new GMarker(punkt);
  12. mapa.addOverlay(marker);
  13. }
  14. });
  15. }
  16.  
  17. function mapaStart(zmienna){
  18. if(GBrowserIsCompatible()){
  19. var mapa = new GMap2(document.getElementById("mapka"));
  20. mapa.addControl(new GLargeMapControl());
  21. var typyMapy = mapa.getMapTypes();
  22. typyMapy[0].getName= function() { return "Mapa";}
  23. typyMapy[1].getName = function() { return "Satelita";}
  24. mapa.addControl(new GMapTypeControl());
  25. mapa.enableDoubleClickZoom();
  26. mapa.enableContinuousZoom();
  27. mapa.enableScrollWheelZoom();
  28.  
  29. if (zmienna == 1){
  30. GEvent.addListener(mapa,'click',function(marker,punkt) {
  31. if(marker){
  32. mapa.removeOverlay(marker);
  33. }else if(punkt){
  34. mapa.clearOverlays()
  35. var marker = new GMarker(punkt);
  36. mapa.addOverlay(marker);
  37. }
  38. });
  39. }
  40.  
  41. geo = new GClientGeocoder();
  42. }
  43. }
[JAVASCRIPT] pobierz, plaintext

jak widac sa dwie zmienne globalne. funkcja 'mapaStart' jest wywolywana zaraz po zaladowaniu strony. gdy potem np. wcisne button i wywowam funkcje 'wskaz_punkt('warszawa',5); wyskakuje problem ze zmienna 'mapa', ktora rzekomo nie została zadeklarowana... o co tu chodzi ?


juz dziala smile.gif
kipero
Kod
var mapa = new GMap2(document.getElementById("mapka"));

W ten sposób utworzyłeś sobie zmienną lokalną o tej samej nazwie co globalna, dostępną tylko w ramach funkcji mapaStart. Usuń var w tym miejscu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.