Frage von Diane1983, 26

SyntaxError: missing ; before statement?

var icon = markers[i][3];
        
        if(icon=='stadt'){            
          icon: '<a href="http://maps.google.com/mapfiles/kml/paddle/">http://maps.google.com/mapfiles/kml/paddle/</a>' + labels[labelIndex++ % labels.length] + '.png'
        }        
        else(icon=='flughafen'){            
          icon: '<a href="http://maps.google.com/mapfiles/kml/shapes/airports.png">http://maps.google.com/mapfiles/kml/shapes/airports.png</a>'
        }   
              
        marker = new google.maps.Marker({
            position: position,
            map: map,
            title: markers[i][0],
            icon: icon
        });

Hier erhalte ich die Fehlermeldung SyntaxError: missing ; before statement Wo liegt der Fehler ?

Antwort
von Suboptimierer, 20

Hinter "else" darf keine Bedingung stehen. Willst du dort eine weitere Bedingung für den Sonst-Zweig angeben, musst du diese mit "if" einleiten. Also: else if(...)

Kommentar von Diane1983 ,

manchmal ist man wirklich betriebsblind - danke :)

Kommentar von Suboptimierer ,

Bitteschön!

Antwort
von RedKungFuMastr, 11
:: Javascript ::

var x; // deklaration einer Variable
x = "blabla"; // Wertezuweisung einer Variable var y = {}; // literal Object y.blabla = "blabla"; // Zuweisung eines Wertes im l.O. y['blabla'] = "blabla"; // dasselbe var z = { blabla: "blabla" }; // equivalent zum Beispiel von l.O. y
Antwort
von safur, 14

Was bedeutet der ":"?
Sollte hier kein "=" sein?
Und fehlt da nicht auch das Semikolon am Ende?

icon: '<a href="http://maps.google.com/mapfiles/kml/paddle/">http://maps.google.com/mapfiles/kml/paddle/</a>' + labels[labelIndex++ % labels.length] + '.png';

Kommentar von safur ,

Kommando zurück :-)
Es gibt den Doppelpunkt in JavaScript, kannte ich noch nicht.
Na bei deinem Else-Fall ist auch eine Bedingung, das kann auch nicht stimmen

if(Bedingung){
}else{

//Else hat keine Bedingung

}

Kommentar von Spirit528 ,

Ja es gibt den Doppelpunkt  in JavaScript, um Attributen innerhalb von Objekten Werte zuzuweisen. Wenn man Variablen Werte zuweisen möchte, dann verwendet man das Gleichheitszeichen =.

Das Semikolon am Zeilenende ist optional. Ich bin es aber gewohnt nach jeder Anweisung ein Semikolon zu machen, daher setze ich es auch am Zeilenende.

Antwort
von Spirit528, 9

Im If-Block steht ein Attribut statt Befehl oder Zuweisung (statement).

Ich nehme mal an, dass Du da das HTML der Variable icon zuweisen willst.


var icon = markers[i][3];
if(icon=='stadt'){
icon = '<a href="http://maps.google.com/mapfiles/kml/paddle/">http://maps.google.com/mapfiles/... + labels[labelIndex++ % labels.length] + '.png'; }
else if (icon=='flughafen'){
icon = '<a href="http://maps.google.com/mapfiles/kml/shapes/airports.png">http://maps.google.c...
} marker = new google.maps.Marker({ position: position,
map: map,
title: markers[i][0],
icon: icon
});

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten