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 :
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();" ) ;
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 ?
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 ?