Archief - JS: lezen uit XML

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

WoDkA

Legacy Member
Ik moet een soort van reisblog maken, waarbij iemand zijn verschillende bezochte steden kan invullen + bij elk een verslag ..

Er moet dan via de Google Maps API een overzicht zichtbaar worden van de afgelegde route, en bij elke stop ook mogelijkheid tot lezen van het dagboek ..

Via PHP genereer ik ten eerste een XML file met de verschillende markers ( = stops ) van een bepaal persoon, die terug te vinden zijn in een DB ..
So far so good, dit is mijn gegenereerde XML :

PHP:
<?xml version="1.0" encoding="UTF-8" ?>
<markers>
	<marker pid="1" lat="37.441" lng="-122.141" date="0000-00-00" />
	<marker pid="2" lat="37.322" lng="-121.213" date="0000-00-00" />
	<marker pid="3" lat="37" lng="-111.213" date="0000-00-00" />
</markers>

Ik moet dan die XML inlezen, en de verschillende attributen eruit halen, om te gebruiken bij het creeren van mijn markers ..
Ik doe dit zo ( lees vanaf "var request = GXmlHttp.create();" ) ;

PHP:
<script type="text/javascript">

//<![CDATA[

function createMarker(point,html)
{
	var marker = new GMarker(point);
	GEvent.addListener(marker, "click", function()
	{
  		marker.openInfoWindowHtml(html);
	});
	return marker;
}

// XML Inladen
//
// formaat is :
//
// <markers>
// 		<marker pid="x" lat="xx" lng="xx" date="xx-xx-xx" />
//		<marker .. />
// </markers>
//
// pid = plaatsID
// lat = latitude van plaats
// lng = longitude van plaats
// date = datum van bezoek

var request = GXmlHttp.create();
request.open("GET", "data.xml", true);
request.onreadystatechange = function()
{
	// Readystates
	//
	// 0 – Uninitialised
	// 1 – Loading
	// 2 – Loaded
	// 3 – Interactive
	// 4 – Completed

	if (request.readyState == 4)
	{
		var xmlDoc = request.responseXML;
		var markers = xmlDoc.documentElement.getElementsByTagName("marker");

	for (var i = 0; i < markers.length; i++)
	{
		var pid = markers[i].getAttribute("pid");
		var lat = markers[i].getAttribute("lat");
		var lng = markers[i].getAttribute("lng");
		var date = markers[i].getAttribute("date");

		var point = new GPoint(lng,lat);
		var marker = createMarker(point,'Ik was hier op :<br />' + date + '<br /><br />Lees <a target="doel" href="toonDagboek.php?placeID=' + pid + '">hier</a> mijn verslag van die dag');

		map.addOverlay(marker);
	}
  }
}

request.send(null);

//]]>

</script>

Mijn lat & lng kloppen, want de punten komen tevoorschijn en ook op de juiste plaats ..
Maar mijn date & pid komen als null eruit .. Die date is gewoon info, maar die pid zou ik dan gebruiken om naar pagina te verwijzen met dagboek van die plaats ..
Enig idee hoe ik aan die null kom ?
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan