1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

JSON Datensätze darstellen.

Dieses Thema im Forum "Javascript & Ajax" wurde erstellt von sid61, 14. Juli 2008.

  1. sid61

    sid61 Grünschnabel

    Hallo,

    ich beschäftige mich derzeit mit einem etwas kniffligen Problem.
    Ich möchte in einer Google Map Karte eine Möglichkeit unterbringen, die es mir erlaubt -

    • Wenn ich einen Marker anklicke

    eine Anfrage zu senden in dieser Form..

    Code (Text):
    1. GEvent.addListener(map, 'click', function(overlay, latlng) {
    2.           var selectedWebService = document.getElementById('webserviceSelect').value;
    3.           var script = document.createElement('script');
    4.           document.body.appendChild(script);
    5.           script.src = 'http://ws.geonames.org/' + selectedWebService + 'JSON?lang=de&lat=' + latlng.lat() + '&lng=' + latlng.lng() + '&callback=loadJSON';
    6.           document.getElementById('result').innerHTML = 'Sende Anfrage an ' + script.src;
    7.  
    Diese Routine ist so aufgebaut, das ich die Daten in diesem Format erhalte :

    Code (Text):
    1. {"geonames":[{"summary":"Kirche im am Nordrand des Spreewalds gelegenen
    2.  Dorf Straupitz. Sie wurde nach Plänen des bekannten Architekten Karl
    3.  Friedrich Schinkel erbaut und stellt mit ihrer vollständig erhaltenen
    4.  ursprünglichen Innenausstattung ein Baudenkmal von überregionaler Bedeutung dar. (...)",
    5.  "distance":3.4693748222439,
    6.  "title":"Dorfkirche Straupitz",
    7.  "wikipediaUrl":"de.wikipedia.org/wiki/Dorfkirche_Straupitz",
    8.  "elevation":0,
    9.  "countryCode":
    10.  "DE",
    11.  "lng":14.12055,
    12.  "feature":"landmark",
    13.  "thumbnailImg":"http://www.geonames.org/img/wikipedia/143000/thumb-142193-100.jpg",
    14.  "lang":"de",
    15.  "lat":51.91105,
    16.  "population":0}]}
    17.  
    Nun habe ich aber das Problem, das ich ja bereits für die normalen Marker eine
    GEvent.addListener(map, 'click', function benutze, um ein ganz normales Bubble Window anzuzeigen.

    Gleichzeitig möchte ich aber erreichen, das ich mit Klick auf diesen Marker die Routine zur Beschaffung der Daten starte und das Ergebnis dann hier ausgebe..

    Also quasi - Marker werden angezeigt für die Objekte, die ich in der DB habe. Wenn ich auf einen Marker klicke, dann wird nicht nur das Bubble Fenster vom Marker angezeigt, sondern im Hintergrund auch die Daten geladen und nach Empfang dargestellt.

    Code (Text):
    1.  <div id="result" style="width:500px; background-color: #eee; overflow: scroll; font-family: Courier">Results of last operation will be shown here.</div>
    Quasi, wenn ich den Marker anklicke, dann soll er mir die empfangenen Daten ausgeben.

    Geht das ?
    Wo positioniere ich hierbei den GEvent.addListener - kann ich mehrere davon benutzen oder muss ich anders an dieses Problem heran gehen ?

    Würde mich freuen, wenn mir jemand dazu was sagen kann..

    Liebe Grüße
    Sid
    Zuletzt bearbeitet: 14. Juli 2008
  2. Sven Mintel

    Sven Mintel Mitglied

    Moin,

    du kannst GEvent.addListener mehrmals notieren, alle werden berücksichtigt :)
  3. sid61

    sid61 Grünschnabel

    Hallo Sven,

    jo - habe mal das eine oder andere getestet und es scheint wirklich zu funktionieren. Ich habe dafür - (das scheint immer so zu sein) ein neues Problem festgestellt.

    Hatte in etlichen Seiten gegoogelt, aber nichts gefunden, was einen wirklich zufrieden stellt.
    Mit dem JSON Dienst von geonames.org kann man echt viel anfangen, aber....

    Wie decodiere ich den String :
    Code (Text):
    1.  
    2. {"weatherObservation":{"clouds":"n/a",
    3. "weatherCondition":"n/a",
    4. "observation":"EDDB 151820Z 26005KT CAVOK 21/14 Q1021 NOSIG",
    5. "windDirection":260,
    6. "ICAO":"EDDB",
    7. "elevation":48,
    8. "countryCode":"DE",
    9. "lng":13.5166666666667,
    10. "temperature":"21",
    11. "dewPoint":"14",
    12. "windSpeed":"05",
    13. "humidity":64,
    14. "stationName":"Berlin-Schoenefeld",
    15. "datetime":"2008-07-15 18:20:00",
    16. "lat":52.3666666666667,
    17. "hectoPascAltimeter":1021}}
    so, das ich mir die Werte aussuchen kann, die ich benötige. Also sinngemäß dann so, das ich die Begriffe gegen Deutsche austauschen kann und nur die nehme, die ich brauche (Beispiel: Grad Celsius : 23)

    Bei meiner Datenbankabfrage hatte ich das so gelöst :
    Code (Text):
    1.  
    2. json = array();
    3. while(list($key,$values) = each($list)) {
    4.     $i++;
    5.        if ($values[2]<>'c') {
    6.     $json[] = htmlspecialchars("p{$i}:{lat:{$values[0]},lng:{$values[1]},type:'{$values[2]}',id:'{$values[3]}',address:'{$values[4]}',
    7. state:'{$values[5]}',postcode:'{$values[6]}',price:'{$values[7]}',name:'{$values[8]}',
    8. art:'{$values[9]}',category:'{$values[10]}',agent:'{$values[11]}',agentphone:'{$values[12]}'
    9. ,thumb:'{$values[13]}'}");
    10.  
    Aber von Geonames.org bekomme ich ja schon den kompletten Inhalt geliefert. Kann Ihn also so nicht zuordnen, wie hier gezeigt.

    Wie kann ich den String, der geliefert wird nun wieder zerhacken und mir die Teile herausholen, die ich benötige ? Generell ist es eben die Frage, denn auch bei Wikipedia JSON Ausgabe ist der Inhalt schon vollständig.

    Wenn ich also dem Beispiel :
    var map;
    Code (Text):
    1.  
    2.     function load() {
    3.       if (GBrowserIsCompatible()) {
    4.         map = new GMap2(document.getElementById("map"), {draggableCursor: 'crosshair'});
    5.         map.setCenter(new GLatLng(37.4419, -122.1419), 13);
    6.     map.addControl(new GLargeMapControl());
    7.     GEvent.addListener(map, 'click', function(overlay, latlng) {
    8.           var selectedWebService = document.getElementById('webserviceSelect').value;
    9.           var script = document.createElement('script');
    10.           document.body.appendChild(script);
    11.           script.src = 'http://ws.geonames.org/findNearByWeatherJSON?lang=de&lat=' + latlng.lat() + '&lng=' + latlng.lng() + '&callback=loadJSON';
    12.           document.getElementById('result').innerHTML = 'Sende Anfrage an ' + script.src;
    13.         });
    14.       }
    15.     }
    16.   function replacer(key, value) {
    17.     if (typeof value === 'number' && !isFinite(value)) {
    18.         return String(value);
    19.     }
    20.     return value;
    21. }
    22.     function loadJSON(result) {
    23.    
    24.       document.getElementById('result').innerHTML = JSON.stringify(result);
    25.    
    26.     }
    27.  
    folgen würde, dann kann ich nur alles ausgeben und es ist nicht formatiert.

    Uff... Hoffe, das ich mich soweit verständlich ausgegöbelt habe ;-)

    Liebe Grüße
    Der andere Sven aus Heidesee

    P.S.
    Dennoch schon mal vielen Dank für deine vorherige Antwort, hat mir schon sehr geholfen !
  4. Sven Mintel

    Sven Mintel Mitglied

    Da gibt es nichts zu dekodieren, er ist ja nicht kodiert :)

    Dieser String ist eine Repräsentation eines Objektes, du kannst daraus per eval() das Objekt wiederherstellen, und dann wie üblich auf seine Eigenschaften zugreifen:
    Code (Text):
    1.  
    2. str='{"weatherObservation":{"clouds":"n/a","weatherCondition":"n/a","observation":"EDDB 151820Z 26005KT CAVOK 21/14 Q1021 NOSIG","windDirection":260,"ICAO":"EDDB","elevation":48,"countryCode":"DE","lng":13.5166666666667,"temperature":"21","dewPoint":"14","windSpeed":"05","humidity":64,"stationName":"Berlin-Schoenefeld","datetime":"2008-07-15 18:20:00","lat":52.3666666666667,"hectoPascAltimeter":1021}}';
    3.  
    4. eval('objekt='+str);
    5.  
    6. alert(objekt.weatherObservation.temperature);
  5. sid61

    sid61 Grünschnabel

    Hallo Sven,

    o.K. - ich glaube, das habe ich begriffen. Ich habe mal einen Teststring gebastelt, der auch soweit funktioniert und in etwa so aussieht..

    Code (Text):
    1. eval('objekt='+result);
    2. test=('Wolkenbildung: ' +  objekt.weatherObservation.clouds + ' · Temperatur: ' +
    3. objekt.weatherObservation.temperature + ' Grad Celsius\nWindgeschwindigkeit: ' +
    4. objekt.weatherObservation.windSpeed + ' Knoten');</div>
    5.  
    Was ich aber immer noch nicht verstehe ist, wie bekomme ich das runde Schwein durch das eckige Schlüsselloch ? ;-)

    Beispiel :

    JSON kommt so an -

    Code (Text):
    1. {"weatherObservation":{"clouds":"n/a",
    2. "weatherCondition":"n/a",
    3. "observation":"EDDB 151820Z 26005KT CAVOK 21/14 Q1021 NOSIG",
    4. "windDirection":260,
    5. "ICAO":"EDDB",
    6. "elevation":48,
    7. "countryCode":"DE",
    8. "lng":13.5166666666667,
    9. "temperature":"21",
    10. "dewPoint":"14",
    11. "windSpeed":"05",
    12. "humidity":64,
    13. "stationName":"Berlin-Schoenefeld",
    14. "datetime":"2008-07-15 18:20:00",
    15. "lat":52.3666666666667,
    16. "hectoPascAltimeter":1021}}
    17.  
    wobei es ja auch mal mehr Daten sein könnten (Beispiel - Wikipedia, bis zu 10 solcher Datensätze) hier beim Wetter erst mal nur einer pro Klick.

    Wie muss ich es denn nun anstellen, das ich diese Ausgabe an meine neue Routine übergebe ?

    Also JSON kommt an -> geht durch mein Kauderwelch -> wird nun so zurückgeschrieben, das ich vor Freude Luftsprünge machen kann

    Entschuldige, wenn ich mich dumm ausdrücke - habe wirklich nicht sehr viel Ahnung von Javascript. Aber muss ich dann die ankommenden Datensätze JSON dann nicht in ein array innerhalb einer Schleife schreiben, bis alles durch ist und dann irgendwie auf der anderen Seite alles noch mal umwandeln in meine Wünsche und das muss ja dann wiederum nochmals bis zum Abruf wieder irgendwo reingeschrieben werden ?

    War das ungefair so richtig ?

    Gruss
    Der andere Sven..
    Zuletzt bearbeitet: 16. Juli 2008
  6. Sven Mintel

    Sven Mintel Mitglied

    Das Dumme ist, dass die Daten nicht einheitlich ankommen...beim Wetter kommt ein Objekt an, bei Wiki als Array....da müsstest du in deiner Routine etwas vorschalten, was beides auf einen gemeinsamen Nenner bringt(Array oder Objekt)
  7. sid61

    sid61 Grünschnabel

    Hallo Sven,

    gibt es denn dafür ein verständliches Beispiel ?

    oder etwas, was mir das ganze veranschaulichen kann ?

    Liebe Grüße
    Sven
  8. Sven Mintel

    Sven Mintel Mitglied

    Moin...

    Mir ist noch nicht so ganz klar, welche Gemeinsamkeit für dich die beiden Objekte haben,...wozu die gemeinsame Routine?

    lg von Sven aus Beeeeerlin;-)
  9. sid61

    sid61 Grünschnabel

    Hallo Sven,

    ich habe gestern nochmal einiges gelesen, was ich mal ausprobieren möchte. Ich will mal ein paar Schritte machen und poste dann nochmal den Code , der es dir vielleicht besser ermöglicht, meinen wirren Gedanken zu folgen ;-)

    Ich poste dann noch mal meine Versuche...

    Bei der gemeinsamen Routine waren meine Gedanken, das man die Daten der derzeit sichtbaren Marker abfragt und wie für die Routine der Marker bereit stellt, so das man diese dann nach seinen Wünschen entweder im Marker Info Window (tab) ablegt oder in die Sidebar schreibt. Dabei orientiere ich mich immer auf den Seiten, wo diese Beispiele vorhanden sind.

    In meinem Fall aus dem Buch von UWMike (Google Maps & PHP) und Mike (Google Group) - (The Guy what play the Guitar). Leider stehen mir dabei immer wieder meine Unkenntnis im Wege, so das es für einen Profi wie dich sicher komisch aussieht ;-)

    Gruss
    Sven
  10. Sven Mintel

    Sven Mintel Mitglied

    Mmmh, ich weiss jetzt nicht, ob es das ist, worauf du hinauswillst, aber hier habsch mal was :)
    Code (Text):
    1. <body>
    2. <script type="text/javascript">
    3. <!--
    4. a='{"weatherObservation":{"clouds":"n/a","windSpeed":"0.5"}}';
    5. b='{"temperature":"21","countryCode":"DE"}';
    6. c='{"geonames":[{"summary":"Zusammenfassung(...)","title":"Dorfkirche Straupitz"}]}';
    7. d='{"test":{"ichBleibeWieIchBin":"Jawoll","meNot":"ich aber nicht"}}';
    8. e='{"foo":"bar"}';
    9.  
    10. function jimBob(j,m,s)
    11. {
    12.   r='';
    13.   eval('this.obj='+j+((m!=null)?'.'+m:''));
    14.   for(i=3;i<jimBob.arguments.length;++i)
    15.     {
    16.       r+='<li>'
    17.       if(typeof jimBob.arguments[i]=='string')
    18.         {
    19.           r+=jimBob.arguments[i]+s+this.obj[jimBob.arguments[i]];
    20.         }
    21.       else
    22.         {
    23.           r+=jimBob.arguments[i][1]+s+this.obj[jimBob.arguments[i][0]]
    24.         }
    25.     }
    26.   return((r=='')?'nix':'<ul>'+r+'</ul>')
    27. }
    28.  
    29.  
    30. document.write(jimBob(a,'weatherObservation','=&gt;',['clouds','Wolken'],['windSpeed','Windgeschwindigkeit'])+'<hr>');
    31. document.write(jimBob(b,null,':',['temperature','Temperatur'],'countryCode')+'<hr>');
    32. document.write(jimBob(c,'geonames[0]','=&gt;',['summary','Zusammenfassung'],['title','Titel'])+'<hr>');
    33. document.write(jimBob(d,'test','-','ichBleibeWieIchBin',['meNot','Ich nicht'])+'<hr>');
    34. document.write(jimBob(e,null));
    35.  
    36. //-->
    37. </script>
    a-e sind mal testhalber JSON-Notationen, jimBob() wird sie verarbeiten(habs mal so genannt, weil es ja nichts mit J(a)son zu tun hat,da ja eval() benutzt wird...aber darum gehts ja auch nicht :-()

    Die Argumente für jimBob:
    1. der String mit der JSON-Notation

    2. Das Zielobjekt in diesem String, aus dem die Eigenschaften geholt werden sollen, wenn der komplette String genommen werden soll, muss dort null hin

    3. ein String, der Zwischen Name und Wert stehen soll

    4. Danach beliebig viele Argumente, jenachdem was ausgegeben werden soll.
      Wenn der Attributname unverändert ausgegeben werden soll, wird er als String notiert, andernfalls ein Array:
      • 1. Array-Element->der originale Attributname
      • 2. Array-Element-> Das, was stattdessen angezeigt werden soll

    Ist sicher noch ausbaufähig, aber als Ansatz sollte es schon mal nutzbar sein.
  11. sid61

    sid61 Grünschnabel

    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. -

    Code (Text):
    1.  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&auml;ngengrad: '+ lat +'</li><li>Breitengrad: '+ lng +'</li></ul></div>';
    2.         }
    3.  
    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 (Text):
    1.  
    2. function getwetter(lat,lng)
    3. {
    4.     var request = GXmlHttp.create();
    5.    
    6.        
    7.     //Diese Zeile muss ergänzt werden, wenn eine Suchoption dazu eingefügt wird (oder eben reduzieren)!!
    8.        var url = 'http://ws.geonames.org/findNearByWeatherXML?lat='+lat+'&lng='+lng';
    9.        
    10.     request.open("GET", url, true);
    11.     request.onreadystatechange = function()
    12.     {
    13.         if (request.readyState == 4)
    14.         {
    15.             try
    16.                {
    17.             var xmlResults = request.responseXML.documentElement;
    18.        
    19.                            
    20.                
    21.         var observation = xmlResults.getElementsByTagName('observation').item(i).firstChild.data;
    22.             var obtime = xmlResults.getElementsByTagName('observationTime').item(i).firstChild.data;
    23.         var station = xmlResults.getElementsByTagName('stationName').item(i).firstChild.data;
    24.         var icao = xmlResults.getElementsByTagName('ICAO').item(i).firstChild.data;
    25.         var landcode = xmlResults.getElementsByTagName('countryCode').item(i).firstChild.data;
    26.         var hoehe = xmlResults.getElementsByTagName('elevation').item(i).firstChild.data;
    27.         var laenge = xmlResults.getElementsByTagName('lat').item(i).firstChild.data;
    28.         var breite = xmlResults.getElementsByTagName('lng').item(i).firstChild.data;
    29.             var grad = xmlResults.getElementsByTagName('temperature').item(i).firstChild.data;
    30.             var messpunkt = xmlResults.getElementsByTagName('dewPoint').item(i).firstChild.data;
    31.             var gefuehl = xmlResults.getElementsByTagName('humidity').item(i).firstChild.data;
    32.         var wolken = xmlResults.getElementsByTagName('clouds').item(i).firstChild.data;
    33.         var condition = xmlResults.getElementsByTagName('weatherCondition').item(i).firstChild.data;
    34.             var hektopascal = xmlResults.getElementsByTagName('hectoPascAltimeter').item(i).firstChild.data;
    35.             var windrichtung = xmlResults.getElementsByTagName('windDirection').item(i).firstChild.data;
    36.             var windspeed = xmlResults.getElementsByTagName('windSpeed').item(i).firstChild.data;
    37.                 }
    38.         }
    39.     }
    40.     request.send(null);
    41. }
    42.  
    Aber wie gesagt, es will einfach nicht funktionieren. Was mache ich falsch

    Liebe Grüße
    Sven
  12. Sven Mintel

    Sven Mintel Mitglied

    Moin,

    Per AJAX(welches du da zum Einsatz kommt) kannst du derzeits nur Quellen der eigenen Domain abfragen:(
  13. sid61

    sid61 Grünschnabel

    Hallo Sven,

    uff, das war jetzt frustrierend... :eek:

    damit habe ich gestern den ganzen Tag verbracht. Hmm, ich dünne jetzt nochmal aus und bleibe nochmal beim Wetter. Ich habe mir eine neue Konstruktion zusammen gebaut, leider mache ich wieder etwas nicht richtig. Ich bekomme einfach den Zusammenhang zwischen ankommen und zuordnen nicht hin.

    Hier noch mal ein Ansatz..

    Code (Text):
    1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    2.     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    3. <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
    4.   <head>
    5.     <meta http-equiv="content-type" content="text/html; charset=UTF=8"/>
    6.     <title>Google Maps JavaScript API Example - Geonames WebServices</title>
    7.  
    8.     <script src="http://www.json.org/json2.js" type="text/javascript"></script>
    9.  
    10.     <script type="text/javascript">
    11.     //<![CDATA[
    12.     function ladewetter() {
    13.  
    14.           var selectedWebService = "findNearByWeather"
    15.           var script = document.createElement('script');
    16.           document.body.appendChild(script);
    17.  
    18. // Für Test mal feste Werte eingegeben, wird später durch +lat+ / +lng+ ersetzt.
    19.           script.src = 'http://ws.geonames.org/findNearByWeatherJSON?lang=de&lat=52.3666666666667&lng=13.5166666666667&callback=loadJSON';
    20.           //document.getElementById('result').innerHTML = script.src;
    21.                      }
    22.  
    23.        function loadJSON(result) {
    24.  
    25.        // wenn ich nachfolgende Zeile aktiviere, kommt JSON richtig an
    26.        // wenn ich hier versuche, vor der Ausgabe umzuwandeln, dann stelle ich mich
    27.        // zu blöd an und verstehe es immer noch nicht.
    28.        // Werde nach einem Gebrauchthirn mit Einstein IQ Ausschau halten müssen..
    29.        //document.getElementById('ausgabe').innerHTML = JSON.stringify(result);
    30.        eval('objekt='+result);
    31.        test=('Wetterstation ' +  objekt.weatherObservation.stationName + ' meldet am ' + objekt.weatherObservation.datetime + ' Uhr\nWolkenbildung: ' +  objekt.weatherObservation.clouds + ' · Temperatur: ' + objekt.weatherObservation.temperature + ' Grad Celsius\nWindgeschwindigkeit: ' + objekt.weatherObservation.windSpeed + ' Knoten');
    32.  
    33.        // Und hier dachte ich - nu isses gewandelt - geh und zeig an
    34.        // Aber so wie es aussieht - ist Newton gegen mich ein Waisenknabe ;-)
    35.        //document.getElementById('ausgabe').innerHTML = JSON.stringify(test);
    36.        // Und da verließen Sie Ihn und machte sich auf, um erneut im Forum zu jammern..
    37.  
    38.                                }
    39.     //]]>
    40.     </script>
    41.   </head>
    42. <body onload="ladewetter()">  
    43. <br><center>
    44.     <div id="ausgabe" style="width:500px; background-color: #cccc00; overflow: scroll; font-family: Courier">
    45. </center>
    46.   </body>
    47. </html>
  14. Sven Mintel

    Sven Mintel Mitglied

    Naja, es gibt Schlimmeres, womit man den Sonntag verbringen kann :)

    Die Lösung ist recht simpel, geonames.org erzeugt bereits ein Objekt, du musst dies also nicht per eval tun:
    Code (Text):
    1. function loadJSON(result) {
    2.       objekt=result;
    3.       test=('Wetterstation ' +  objekt.weatherObservation.stationName + ' meldet am ' + objekt.weatherObservation.datetime + ' Uhr\nWolkenbildung: ' +  objekt.weatherObservation.clouds + ' · Temperatur: ' + objekt.weatherObservation.temperature + ' Grad Celsius\nWindgeschwindigkeit: ' + objekt.weatherObservation.windSpeed + ' Knoten');
    4.       document.getElementById('ausgabe').innerHTML = test;
    5.       }
  15. sid61

    sid61 Grünschnabel

    Jo,
    das wars - jetzt bekomme ich die Daten so, wie ich es mir gedacht hatte. Kleiner Makel ist noch in der Ausgabe - am Anfang und Ende der Ausgabe werden noch Anführungszeichen ausgegeben. Aber im wesentlichen ist das Problem damit erfolgreich gelöst.

    Ich möchte mich nochmal bei dir bedanken, Sven..

    Liebe Grüße
    der andere Sven

Diese Seite empfehlen