PHP bzw. KML mit Javascript verarbeiten
30.11.2011
17:19:41 Uhr887 Aufrufe
8 Antworten
17:19:41 Uhr
8 Antworten
Noch nicht bewertet
Hi,
glaube mein Problem ist hier noch nicht vorhanden, zumindest habe ich nichts gefunden.
Bin Javascript Neuling und es geht um folgendes:
Ich bin gerade dabei eine Browserapplikation mit Javascript zu erstellen, die Karten und darauf Routen anzeigt. Die Kartendarstellung funktioniert schon ganz gut (OpenLayers). Ich habe mir gedacht die Route über die YOURS API (http://wiki.openstreetmap.org/wiki/YOURS# ... abzufragen.
Eine Anfrage schaut Beispielsweise so aus: http://www.yournavigation.org/api/1.0/gos ...
Also wenn man mal die genannte URL im Browser eingibt, wird ein durch PHP generiertes KML Dokument angezeigt bzw man bekommt KML zurück.
Ich möchte nun auf <coordinates> zugreifen und weis leider nicht wie.
Kann mir jemand helfen?
glaube mein Problem ist hier noch nicht vorhanden, zumindest habe ich nichts gefunden.
Bin Javascript Neuling und es geht um folgendes:
Ich bin gerade dabei eine Browserapplikation mit Javascript zu erstellen, die Karten und darauf Routen anzeigt. Die Kartendarstellung funktioniert schon ganz gut (OpenLayers). Ich habe mir gedacht die Route über die YOURS API (http://wiki.openstreetmap.org/wiki/YOURS# ... abzufragen.
Eine Anfrage schaut Beispielsweise so aus: http://www.yournavigation.org/api/1.0/gos ...
Also wenn man mal die genannte URL im Browser eingibt, wird ein durch PHP generiertes KML Dokument angezeigt bzw man bekommt KML zurück.
Ich möchte nun auf <coordinates> zugreifen und weis leider nicht wie.
Kann mir jemand helfen?
nxclass schreibt am 01.12.2011 um 08:56:31 Uhr
SimpleXML z.B.
.. soll heißen:01.
$url = 'http://www.yournavigation.org/api/1.0/gosmore.php?format=kml&flat=52.215676&flon=5.963946&tlat=52.2573&tlon=6.1799&v=motorcar&fast=1&layer=mapnik'; 02.
$simpleXmlObject = simplexml_load_file( $url ); 03.
/* 04.
$simpleXmlObject-> // hier geht es weiter 05.
*/
admin-lif schreibt am 01.12.2011 um 10:10:07 Uhr
ok... php hab ich leider noch nie was gemacht... kann ich dass dann einfach mit <?php ?> in meinen javascript code einbauen? Wie greife ich von Javascript aus auf das simplexmlobject zu?
achja und die koordinaten in der url sind jedesmal anders, d.h. es müsste mit variablen in der url gearbeitet werden...
achja und die koordinaten in der url sind jedesmal anders, d.h. es müsste mit variablen in der url gearbeitet werden...
nxclass schreibt am 01.12.2011 um 13:55:17 Uhr
PHP ist eine Server seitige Script Sprache.
Du kannst es auch in Javascript machen, das wird aber etwas schwerer.
Du müsstest dann die Daten von der URL am besten per Ajax laden und in eine Objekt Struktur umwandeln, um dann die Koordinaten raus zu ziehen und in Karte ein zu tragen. Schau Dir mal JQuery ( http://api.jquery.com/jQuery.ajax/ ) dazu an.
Du kannst es auch in Javascript machen, das wird aber etwas schwerer.
Du müsstest dann die Daten von der URL am besten per Ajax laden und in eine Objekt Struktur umwandeln, um dann die Koordinaten raus zu ziehen und in Karte ein zu tragen. Schau Dir mal JQuery ( http://api.jquery.com/jQuery.ajax/ ) dazu an.
admin-lif schreibt am 05.12.2011 um 12:07:44 Uhr
Zitat von nxclass:
PHP ist eine Server seitige Script Sprache.
Du kannst es auch in Javascript machen, das wird aber etwas schwerer.
Du müsstest dann die Daten von der URL am besten per Ajax laden und in eine Objekt Struktur umwandeln, um dann die
Koordinaten raus zu ziehen und in Karte ein zu tragen. Schau Dir mal JQuery ( http://api.jquery.com/jQuery.ajax/ ) dazu an.
PHP ist eine Server seitige Script Sprache.
Du kannst es auch in Javascript machen, das wird aber etwas schwerer.
Du müsstest dann die Daten von der URL am besten per Ajax laden und in eine Objekt Struktur umwandeln, um dann die
Koordinaten raus zu ziehen und in Karte ein zu tragen. Schau Dir mal JQuery ( http://api.jquery.com/jQuery.ajax/ ) dazu an.
Hab mich mal in die Sache bisschen eingelesen und Foren durchsucht, leider erhalte ich bei der Antwort immer eine Fehler. Hab auch gelesen, dass das mit eine fremden URL gar nicht kann.
Kannst du evtl ein Beispiel posten wie das laufen soll?
nxclass schreibt am 05.12.2011 um 15:48:33 Uhr
gosmoreData.php
holt die Daten und gibt sie JSON Codiert aus
gosmoreView.html
holt die JSON Daten per Ajax und verarbeitet diese weiter
PS: die Abfrage der Daten dauert hin und wieder etwas - das kann also paar sek. dauern bis das alert() kommt
01.
<?php 02.
set_time_limit(3600); 03.
$url = 'http://www.yournavigation.org/api/1.0/gosmore.php?format=kml&flat=52.215676&flon=5.963946&tlat=52.2573&tlon=6.1799&v=motorcar&fast=1&layer=mapnik'; 04.
$simpleXmlObject = simplexml_load_file( $url ); 05.
echo json_encode( 06.
explode("\n", trim( $simpleXmlObject->Document->Folder->Placemark->LineString->coordinates ) ) 07.
);gosmoreView.html
01.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 02.
<html> 03.
<head> 04.
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 05.
<title>Insert title here</title> 06.
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> 07.
<script type="text/javascript"> 08.
$(document).ready( 09.
function() 10.
{ 11.
$.ajax( { 12.
url: "gosmoreData.php", 13.
success: function( data, textStatus, jqXHR ) 14.
{ 15.
// erzeugt eine Objekt mit den Koordinaten (komma getrennt) 16.
var coordinates = JSON.parse(data); 17.
18.
// hier dein Code zum erstellen der Linien 19.
alert( data ); // DEBUG 20.
} 21.
} ); 22.
} 23.
); 24.
</script> 25.
</head> 26.
27.
<body> 28.
29.
</body> 30.
</html>PS: die Abfrage der Daten dauert hin und wieder etwas - das kann also paar sek. dauern bis das alert() kommt
nxclass schreibt am 08.12.2011 um 21:29:26 Uhr
wie eine ganz normale HTML Seite durchlaufen?
...sollte möglich sein. Man könnte zB. auf den Inhalt eines IFrames zugreifen.( kann das jetzt leider nicht testen ... schau mal: http://de.selfhtml.org/javascript/objekte ... )








