Pobranie danych z JSON i pętla dla wypełnienia SVG

0

Witam, zrobiłem sobie kod, który pobiera dane z JSON, leci pętla i po kolei sprawdza wszystkie elementy w JSON i w zależności od wartości, zmienia się kolor tego elementu w SVG, mam coś takiego:

$(document).ready(function() 
{ 
    $.getJSON("results.json", function(data) 
    {
        data = data.iso_countries;
        var map = document.getElementById("blank_map");
        var svgMap = map.contentDocument;

        for(var key in data)
        {
			var iso = data[key].country;
			var visitors = data[key].visitors;
			
			if( visitors > 1 && 50>=visitors)
			{
				svgMap.getElementById(iso).style.fill="#94d31b";
			}
			else if( visitors > 50 && 500>=visitors)
			{
				svgMap.getElementById(iso).style.fill="#000000";
			}
		}	
	
	});
}); 

Konsola pokazuje mi:

TypeError: svgMap is undefined
svgMap.getElementById(iso).style.fill="#94d31b";

Nie mam już sił do tego... Gdzie może być błąd? Kombinuję i nic mi nie wychodzi z tym.

0

ej, mój skrypt działa :D ale wtedy, gdy wywalę SVG z pliku i wgram na żywo do strony, nie robię <embed src="" /> tylko wklejam sobie go i śmiga :D czy ktoś wie, czemu nie wczytuje mi danych gdy wczytuję plik?

1

<embed>? to jest śmieciowy tag wymyślony przez microsoft chyba.

spróbuj to tak dodać:
http://stackoverflow.com/questions/4476526/do-i-use-img-object-or-embed-for-svg-files

0

Raz wczytywało, raz nie, raz też mi jakiś błąd wywaliło i nie wczytało nic . to zrobiłem po prostu nowy html, wkleiłem kod i wgrałem

<?php require_once("plik.html"); ?>

i wsio, bo 1mb plik w phpdesigner mi trochę przycinało ;D

0

"jakiś błąd" to mało informacji. jeżeli SVG ma aż 1MB to to spory nadmiar niepotrzebnych danych wysyłanych za każdym razem użytkownikowi

0

no właśnie tego SVG już zmniejszyć się nie da... a co do błędu, to wywaliło, że jest błąd w kodzie na stronie, że jakaś zmienna nie istnieje, mimo, że w tamtym miejscu nie było żadnych zmiennych, tylko stał

wrzuciłem w validator HTML i wszystko jest w porządku, widocznie coś się przycięło, ale i tak dzięki za pomoc :)

0

chce Ci pomoc, ale wyraźnie nie chcesz tej pomocy, więc spoko, działa, to niech działa ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1