Mapper: Google Maps - per Link Polyline ausblenden

Nabend @ all!
Beschäftige mich gerade mit der Google maps API und komme nun nicht weiter.

Ich lasse diverse Polylinien als Overlay einblenden, nun möchte ich diese per klick ausblenden lasse.

Das ganze mache ich über den Event:
map.removeOverlay(encodedPolyline);

Wenn ich das ganze so einbinde, kein Problem, die Linie wird ausgeblendet. Wenn ich nun allerdings eine Funktion erstelle:

function remove_poly(){  
   map.removeOverlay(encodedPolyline);  
}

und diese per Link aufrufe, dann kommt je nachdem wo ich die Funktion hinsetzte, der Fehler >>remove_poly is not defined<< oder >>map is not defined<<

Wo muss ich diese Funktion unterbringen ???
In der Funktion load(), welche die Karte initialisiert, in der if-abfrage in dieser function if(GBrowserIsCompatible()){} oder komplett ausserhalb? Oder habe ich ein ganz anderes Problem ?

Danke an alle Helfer und Helferinnen

Gruß
Mapper

  1. Hallo Mapper,

    du musst dir den Unterschied zwischen lokalen und globalen Variablen klarmachen.

    Gruß, Jürgen

    1. du musst dir den Unterschied zwischen lokalen und globalen Variablen klarmachen.

      Mir ist klar, das die Variable lokal ist, aber es muss doch eine Möglichkeit geben, irgendwie darauf zugreifen zu können, oder?
      Ich habe leider dazu nichts gefunden. Wenn Du vielleicht einen Tipp fürmich hättest, wonach ich suchen könnte, wäre ich Dir sehr dankbar

      Gruß
      Mapper

      1. Hallo Mapper,

        lokale Variablen sind außerhalb der Funktion nicht verfügbar. Wenn du in einer Funktion auf lokale Variablen einer anderen Funktion zugreifen willst, geht das nur, wenn die eine Funktion "Unterfunktion" der anderen ist (ungetestet):

        var außen = function() {  
          var lokal = "abc";  
          var innen = function() {  
            alert(lokal);  
          }  
          innen();  
        }
        

        Wenn das keine Option ist, musst du dich mit Objektorientierter Programmierung beschäftigen.

        Gruß, Jürgen