DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   (X)HTML, JavaScript, DHTML, XML, CSS (http://www.devprotalk.com/forumdisplay.php?f=8)
-   -   Pogresno prikazivanje podataka... (http://www.devprotalk.com/showthread.php?t=10145)

AdriaMart 13. 06. 2011. 23:35

Pogresno prikazivanje podataka...
 
U pitanju je google mapa. Imam sledeci kod i klikom na marker uvek se pojavljuju isti podaci a ne onako kako je izvuceno iz xml fajla... zna li neko da mi odgovori zasto?

function load() {
var dialog = $('<div>').dialog({autoOpen:false});
var map = new google.maps.Map(document.getElementById("map"), {
center: new google.maps.LatLng(47.6145, -122.3418),
zoom: 13,
mapTypeId: 'roadmap'
});
var infoWindow = new google.maps.InfoWindow;


// Change this depending on the name of your PHP file
downloadUrl("xmlfajl.xml", function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("marker") ;
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute("name");
var address = markers[i].getAttribute("address");
var type = markers[i].getAttribute("type");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var html = "<b>" + name + "</b> <br/>" + address;
var icon = customIcons[type] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon,
shadow: icon.shadow
});

google.maps.event.addListener(marker, 'click', function() {
dialog.html(html).dialog('open');

});
}
});
}

... kada koristim ingowindow sve ide kako treba a kad promenim umesto infowindow-a jquery window onda se pojavljuje samo jedan podatak... vidi li neko gresku?

Br@nkoR 14. 06. 2011. 11:19

Mogao si da postaviš i link do problematične stranice.
Ovako pretpostavkom šta rade pojedine funkcije, verovatno se prikazuju samo poslednji podaci iz xml fajla, odnosno html promenljiva se uvek poništava i ostaje poslednja vrednost.
Pokušaj da drugačije prosleđuješ vrednost html promenljive, možda pokušaj da umesto
Kôd:

var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon,
shadow: icon.shadow
});

staviš:
Kôd:

var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon,
shadow: icon.shadow,
html: html
});

A da umesto:
Kôd:

google.maps.event.addListener(marker, 'click', function() {
dialog.html(html).dialog('open');
});

staviš:
Kôd:

google.maps.event.addListener(marker, 'click', function() {
dialog.html(this.html).dialog('open');
});

Ili pokušaj da koristiš jQuery each umesto for petlje.

AdriaMart 14. 06. 2011. 12:46

Hvala branko ali resio sam problem tako sto sam dodao novu funciju -
function dial(html){
return function(){
dialog = $('<div>').dialog({autoOpen:false});
dialog.html(html).dialog('open');
}

Znas li gde na netu ima to da umesto for petlje stavim jquery ... verovatno je brzi i bolji... takodje me muci sto nemogu da uredim ''var html'' kako meni odgovara... vec moze jedino da ide tekst ispod teksta...

Br@nkoR 14. 06. 2011. 13:34

Google mi je izbacio ovo, možda pomogne:
http://blogs.sitepoint.com/google-maps-api-jquery/

A drugo pitanje nisam siguran da li sam razumeo, ali koliko vidim može da se dodaje bilo koji html kod, nešto kao:
Kôd:

var html = '<div class="nesto"><strong>' + name + '</strong>&nbsp;' + address + '</div>';

AdriaMart 14. 06. 2011. 13:39

Da, moze ali problem je kada npr. stavis align="center" ili width="200" ... onda ovi navodnici prave smetnju i neznam kako da ih izbegnem inace moze da se stavi bilo koji html kod pod uslovom da u njemu nema navodnika jer oni onda prave gresku...

Br@nkoR 14. 06. 2011. 13:43

Stavi backslash \" ili koristi jednostruke navodnike kao što sam ja gore uradio, ili pokušaj umesto " da staviš njen html entitet &quot;

AdriaMart 14. 06. 2011. 18:55

Probao sam na sva 3 nacina kao i kombinacijom drugih ali jednostavno nemoze... videcu da to resim nekako drugacije...

Br@nkoR 14. 06. 2011. 19:15

Postavi ovde to što si pokušao.

AdriaMart 15. 06. 2011. 02:24

Pokusao sam: "<table width=&quot;200&quot;/>
<tr>
<td><img src=&quot;"+ address +"&quot; width=&quot;32&quot; height=&quot;32&quot; alt=&quot;&quot; /></td>
<td>"+ name +"</td>
</tr>
</table>"

kao i ostala dva nacina koja si predlozio ...

Br@nkoR 15. 06. 2011. 08:35

Potrebno je da sve bude u jednom redu:
Kôd:

var html = '<table width="200"/><tr><td><img src="' + address + '" width="32" height="32" alt="" /></td><td>' + name + '</td></tr></table>';
ili:
Kôd:

var html = "<table width=\"200\"/><tr><td><img src=\"" + address + "\" width=\"32\" height=\"32\" alt=\"\" /></td><td>" + name + "</td></tr></table>";
ili ukoliko, želiš u više redova, nešto kao:
Kôd:

var html = '<table width="200"/>' +
          '<tr>' +
          '<td><img src="' + address + '" width="32" height="32" alt="" /></td>' +
          '<td>' + name + '</td>' +
          '</tr>' +
          '</table>';



Vreme je GMT +2. Trenutno vreme je 11:55.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.