sid61
Mitglied
Hallo Sven,
zuerst einmal danke !!
ich werde mal versuchen, ob ich damit klar komme.
Ich hatte heute mal an der Wetter Geschichte gesessen. Da es den Wetterbericht ja auch als XML gibt, habe ich mal probiert, ob ich eine Function bauen kann, mit der ich die Daten auslese und dann an geeigneter Stelle verwenden kann.
Ich habe das so konstruiert, das ich die Function mit
getwetter(lat,lng); aufrufe.
ich würde die Function gern an dieser Stelle einbinden (vor sidebar_html), da hier die Schleife für jedes Sidebarfeld durchlaufen wird. -
Gesagt, getan, aber irgendwas mache ich immer noch falsch. Ich bekomme einfach keine Daten, obwohl der reine Aufruf der URL keine Probleme macht und mir die xml Datei sendet (mit den gewünschten Koodinaten) nur wenn ich es mit der function aufrufe, dann bleibt die Karte leer und nichts wird mehr angezeigt.
Mein Gedanke war gewesen, das ich nach dem Aufruf der Function die variablen in den sidebar_html Code einfüge, also z.B. <li>Temperatur: '+ grad +'</li><li>Wolkenbildung: '+ clouds +'</li> u.s.w.
Hier ist der Code, mit dem ich mir den Inhalt der URL (Wetterdaten) hole..
Aber wie gesagt, es will einfach nicht funktionieren. Was mache ich falsch
Liebe Grüße
Sven
zuerst einmal danke !!
ich werde mal versuchen, ob ich damit klar komme.
Ich hatte heute mal an der Wetter Geschichte gesessen. Da es den Wetterbericht ja auch als XML gibt, habe ich mal probiert, ob ich eine Function bauen kann, mit der ich die Daten auslese und dann an geeigneter Stelle verwenden kann.
Ich habe das so konstruiert, das ich die Function mit
getwetter(lat,lng); aufrufe.
ich würde die Function gern an dieser Stelle einbinden (vor sidebar_html), da hier die Schleife für jedes Sidebarfeld durchlaufen wird. -
Code:
sidebar_html += '<div id="' + linkid + '" style="margin-left: 4px; margin-top: 4px;"><a href="javascript:myclick(\'' + i + '\')"><img src="http://client.wohnraum24.eu/components/com_wohnraum24/img/thb/'+ thumb +'" alt="Ansicht Foto" border="0"/><br><h2>' + name + '</h2></a><ul><li>'+ category +'</li><li>Längengrad: '+ lat +'</li><li>Breitengrad: '+ lng +'</li></ul></div>';
}
Gesagt, getan, aber irgendwas mache ich immer noch falsch. Ich bekomme einfach keine Daten, obwohl der reine Aufruf der URL keine Probleme macht und mir die xml Datei sendet (mit den gewünschten Koodinaten) nur wenn ich es mit der function aufrufe, dann bleibt die Karte leer und nichts wird mehr angezeigt.
Mein Gedanke war gewesen, das ich nach dem Aufruf der Function die variablen in den sidebar_html Code einfüge, also z.B. <li>Temperatur: '+ grad +'</li><li>Wolkenbildung: '+ clouds +'</li> u.s.w.
Hier ist der Code, mit dem ich mir den Inhalt der URL (Wetterdaten) hole..
Code:
function getwetter(lat,lng)
{
var request = GXmlHttp.create();
//Diese Zeile muss ergänzt werden, wenn eine Suchoption dazu eingefügt wird (oder eben reduzieren)!!
var url = 'http://ws.geonames.org/findNearByWeatherXML?lat='+lat+'&lng='+lng';
request.open("GET", url, true);
request.onreadystatechange = function()
{
if (request.readyState == 4)
{
try
{
var xmlResults = request.responseXML.documentElement;
var observation = xmlResults.getElementsByTagName('observation').item(i).firstChild.data;
var obtime = xmlResults.getElementsByTagName('observationTime').item(i).firstChild.data;
var station = xmlResults.getElementsByTagName('stationName').item(i).firstChild.data;
var icao = xmlResults.getElementsByTagName('ICAO').item(i).firstChild.data;
var landcode = xmlResults.getElementsByTagName('countryCode').item(i).firstChild.data;
var hoehe = xmlResults.getElementsByTagName('elevation').item(i).firstChild.data;
var laenge = xmlResults.getElementsByTagName('lat').item(i).firstChild.data;
var breite = xmlResults.getElementsByTagName('lng').item(i).firstChild.data;
var grad = xmlResults.getElementsByTagName('temperature').item(i).firstChild.data;
var messpunkt = xmlResults.getElementsByTagName('dewPoint').item(i).firstChild.data;
var gefuehl = xmlResults.getElementsByTagName('humidity').item(i).firstChild.data;
var wolken = xmlResults.getElementsByTagName('clouds').item(i).firstChild.data;
var condition = xmlResults.getElementsByTagName('weatherCondition').item(i).firstChild.data;
var hektopascal = xmlResults.getElementsByTagName('hectoPascAltimeter').item(i).firstChild.data;
var windrichtung = xmlResults.getElementsByTagName('windDirection').item(i).firstChild.data;
var windspeed = xmlResults.getElementsByTagName('windSpeed').item(i).firstChild.data;
}
}
}
request.send(null);
}
Aber wie gesagt, es will einfach nicht funktionieren. Was mache ich falsch
Liebe Grüße
Sven