Ich versuche eine Google Map mit mehreren Geo-Punkten und zugehörigen Info-Fenstern zu füllen, die alle in einer Datenbank gespeichert sind. Mein Code kompiliert ohne Fehler, aber der Infowindow-Inhalt funktioniert nicht richtig. Ich arbeite in C# und Javascript.Wie bevölkert Google Maps Info-Boxen aus der Datenbank?
Dieser Code füllt jedes Informationsfenster mit der Zeichenfolge "einige Wörter". Ich kann es auch zum Laufen bringen, indem ich "einige Wörter" durch @ row.Lat und/oder @ row.Lng ersetze und das Informationsfenster mit den korrekten Zahlen aus der Datenbank bevölke. Wenn ich jedoch @ row.Description eintippe (der Name der Zeile, wenn der Inhalt, den ich möchte, ist), dann wird die Karte nicht geladen, aber ich bekomme keine Fehlermeldung. Wenn ich @ row.randomStuff (eine nicht existierende Zeile) setze, bekomme ich einen Fehler, also weiß ich, dass @ row.Description gelesen, aber nicht verstanden wird.
@{
var db = Database.Open("ClownDB");
var query = "SELECT * FROM Point";
foreach (var row in db.Query(query)) {
<text>
var markerPosition = new google.maps.LatLng(@row.Lat, @row.Lng);
var marker = new google.maps.Marker({
position: markerPosition,
map: ClownMap,
clickable:true});
marker.content = "some words";
var InfoWindow = new google.maps.InfoWindow();
google.maps.event.addListener(marker, 'click', function({
InfoWindow.setContent(this.content);
InfoWindow.open(ClownMap, this);
});
</text>
}
}
Ich glaube nicht, Sie brauchen '@' vor 'row', da Sie bereits in einem Codeblock sind. – BoltBait
Danke, aber herausnehmen der @s machte neue Fehler :( –
Versuchen Sie um @ Zeile.Description mit Anführungszeichen. – BoltBait