Maschinendenk

Marker aus XML Dateien erzeugen

0 Kommentare

In diesem Tutorial stelle ich eine Funktion meiner Google Maps Klasse Gmapper vor, die in der jüngsten Version 0.3 hinzugefügt wurde:

parseGxml

Mit parseGxml ist es möglich, XML Dateien im Google Maps Format in ein Array aus Punkten zu parsen.

Dieses Array kann dann in einer Schleife durchlaufen werden, um Marker zu erzeugen.

Ein Beispiel:

Zunächst erzeugen wir wie gewohnt eine Karte:

include("class.gmapper.php");
$karte = new gmap;
$karte->headjs('');
$karte->bodyjs();
$karte->map('800', '600', 6,'49.980067','10.8731',"normal",3,7,1);

Nun rufen wir die Funktion parseGxml auf:

$karte->markstart();
$points = $karte->parseGxml("data.xml");
foreach($points as $point)
{
$karte->marker($point[0],$point[1] );
}
$karte->markend();

Die Methode parseGxml nimmt einfach den Dateinamen einer XML Datei als Parameter, und gibt ein Array aus Punkten zurück.

Wir durchlaufen dieses Array und geben rufen für jeden Durchlauf die Funktion marker() auf um einen Marker zu erzeugen.
Der erste Wert ist die Breite ($point[0]) und der Zweite die Länge ($point[1]).

Fertig :)

Da wir die Marker nun schon als mehrdimensionales Array vorliegen haben, können wir sie auch leicht noch mit einer Polyline verbinden:

$karte->polyline($points,"#FF0000",3 ,0 , "all");

Die Struktur der XML Datei ist ebenfalls sehr simpel:

<markers>
<marker lat="53.5" lng="12.7"/>
<marker lat="52.5" lng="13"/>
<marker lat="51.5" lng="12"/>
<marker lat="51" lng="10"/>
<marker lat="48" lng="11"/>
<marker lat="47.5" lng="13"/>
</markers>

Links:

Geschrieben von Philipp

Dezember 7th, 2006 at 2:08

Veröffentlicht in Allgemein

Kommentar schreiben

Sie müssen eingeloggt sein um einen Kommentar zu verfassen.