Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: jQuery parsen van json objecten lukt niet  (gelezen 2579 keer)

Offline raggar

  • Lid
    • fietsen naar Tibet
jQuery parsen van json objecten lukt niet
« Gepost op: 2010/11/23, 17:45:14 »
Hallo,

Het volgende stuk gaat niet goed. Toch krijg ik geen foutmeldingen. Is er iemand die hier meer ervaring mee heeft en me kan vertellen wat ik fout doe?
Vast veel dank!

Stukje dat niet goed wordt uitgevoerd:
jQuery.getJSON("locaties_json.php", function(data) {
jQuery(data).each(function() {
var markers = jQuery(this);
   var LatLng = new google.maps.LatLng(data.t,data.g);
   var marker = new google.maps.Marker({
      position: LatLng,
      map:map
    });
    });
 });

JSON uit locaties_json.php:
{"t":52.090689,"g":5.055445,"l":1},{"t":52.110303,"g":5.029813,"l":2},{"t":52.090006,"g":5.054554,"l":3},{"t":52.110289,"g":5.028034,"l":4},{"t":52.129074,"g":5.099142,"l":5},{"t":52.080792,"g":5.039797,"l":6},{"t":52.109964,"g":5.029703,"l":7},{"t":52.110012,"g":5.029505,"l":8},{"t":52.089236,"g":5.054305,"l":9},{"t":52.11012,"g":5.029123,"l":10},{"t":52.127608,"g":5.10522,"l":11},{"t":52.09125,"g":5.059186,"l":12},{"t":52.07581,"g":5.131266,"l":13},
Gehele script:
$(document).ready(function(){

  var latlng = new google.maps.LatLng(52.08794,5.11825);
  var Options = {
    zoom: 12,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.HYBRID,
    navigationControl: true,
    mapTypeControl: true,
    mapTypeControlOptions: {
      style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
     },
    };
   
  var map = new google.maps.Map(document.getElementById("map"), Options);

  var homeControlDiv = document.createElement('DIV');
  var homeControl = new HomeControl(homeControlDiv, map);
  homeControlDiv.index = 1;
  map.controls[google.maps.ControlPosition.TOP_RIGHT].push(homeControlDiv);

  var marker1 = new google.maps.Marker({
      position: latlng,
      map: map,
      title:"Hello World!"
  });   


jQuery.getJSON("locaties_json.php", function(data) {
jQuery(data).each(function() {
var markers = jQuery(this);
   var LatLng = new google.maps.LatLng(data.t,data.g);
   var marker = new google.maps.Marker({
      position: LatLng,
      map:map
    });
    });
 });


});

Offline Ronnie

  • Lid
    • ronnie.vd.c
Re: jQuery parsen van json objecten lukt niet
« Reactie #1 Gepost op: 2010/11/23, 22:57:27 »
Volgens mij is je JSON niet goed op orde.

Die komma op het eind mag officieel niet, en ik dacht dat JSON maar mocht bestaan uit één enkel object

Probeer het eens met de volgende JSON
Citaat
{locations:[{"t":52.090689,"g":5.055445,"l":1},{"t":52.110303,"g":5.029813,"l":2},{"t":52.090006,"g":5.054554,"l":3},{"t":52.110289,"g":5.028034,"l":4},{"t":52.129074,"g":5.099142,"l":5},{"t":52.080792,"g":5.039797,"l":6},{"t":52.109964,"g":5.029703,"l":7},{"t":52.110012,"g":5.029505,"l":8},{"t":52.089236,"g":5.054305,"l":9},{"t":52.11012,"g":5.029123,"l":10},{"t":52.127608,"g":5.10522,"l":11},{"t":52.09125,"g":5.059186,"l":12},{"t":52.07581,"g":5.131266,"l":13}]}

En verander $(data).each() door $(data.locations).each()
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Documentatie Terminal

Offline raggar

  • Lid
    • fietsen naar Tibet
Re: jQuery parsen van json objecten lukt niet
« Reactie #2 Gepost op: 2010/11/24, 16:30:53 »
Ronnie, bedankt voor je antwoord. Ik heb het aangepast maar het functioneert nog steeds niet. Enig idee hoe ik kan checken of en hoe de json wordt geladen? Ben nieuw in json en jquery...  ;)

Offline Ronnie

  • Lid
    • ronnie.vd.c
Re: jQuery parsen van json objecten lukt niet
« Reactie #3 Gepost op: 2010/11/24, 18:00:49 »
raggar, een tool dat ik erg vaak gebruik, en zeer handig is, is Firebug (Een addon voor Firefox).

Daar kun je kijken, wat er allemaal verzonden en ontvangen wordt. Ook kun je er in de javascript mee loggen, zodat nuttige output verschijnt. Kom je er dan nog niet uit, dan zal ik de code zelf eens proberen.
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Documentatie Terminal

Offline raggar

  • Lid
    • fietsen naar Tibet
Re: jQuery parsen van json objecten lukt niet
« Reactie #4 Gepost op: 2010/11/25, 22:13:24 »
Hoi Ronnie,

Bedankt voor je hulp! Het is gelukt! Het probleem was het volgende, ik moest 'this' gebruiken inplaats van data.Locations

Dus:
jQuery.getJSON("locaties_json.php", function(data) {
   jQuery(data.Locations).each(function() {
   var markers = jQuery(this);
   var LatLng = new google.maps.LatLng(this.t,this.g);
   var marker = new google.maps.Marker({
      position: LatLng,
      map:map,
                });
    });
 });