• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Distanzmesser

timroh

Cripps Pink
Registriert
08.07.09
Beiträge
148
Hallo,
Ich bin nach einem Distanzmesser auf der suche, der, wenn man zwei Städte eingibt die effektive Distanz (also mit Strassen) ausgibt. Ich dachte Google oder o.ä. bieten so was an. Das Ganze sollte editirbar sein, da es sich der Gestaltung der Internetseite anpassen muss. Ich benötige keine Karte, da ich mit dieser Zahl dann rechnen muss.
Danke für eure Hilfe,
Mit freundlichen Grüssen
Tim
 
Das müsste mit jeder Mapping API gehen, die das Berechnen von Routen erlaubt. Cloudmade gibt dann z.B. ein Objekt zurück, aus dem man die Infos, die man benötigt auch einzeln auslesen kann. siehe hier

Google macht es sicher ähnlich.
 
Sorry, falls die Frage blöd ist aber muss ich cloudmade auf dem Server installieren oder kann ich eine Site aufrufen, die mir dann irgendwie das Objekt übermittelt?
 
Da werden Anfragen an den Cloudmade Dienst geschickt. In dem Link oben unter "examples" sind Beispiele für Routing und evtl Geocoding.
 
Ich begreife das nicht so ganz und ich weiss nicht ob ich mir das richtig vorstelle:
ich werde auf meiner Seite zwei Eingabefelder haben, in die dann zwei Städte eigegeben werden. Diese beiden Daten werden dann mit irgendeiner Datenbank verglichen. Schliesslich bekomme ich ein Objekt zurück dass unteranderem die Distanz beinhaltet. Danach kann ich mit zb:
Code:
distanz = geo.getDistance();
alert("Die Distanz von " + stadta + "nach " + stadtb + "beträgt "  + distanz + "Km");
die Distanz von stadta nach stadtb ausgeben lassen. Aber wie komme ich an das Objekt???
 
Also,
Ich habe mich jetzt mal ein bisschen in die API von Google eingearbeitet. jetzt komme ich aber hier auch nichtmehr weiter. Was mache ich falsch???
Code:
 <script src="http://maps.google.com/maps?file=api&v=2.x&sensor=false&key=ABQIAAAAF6pZEKxB8HIk2_Jz4kZZ-BTsANaj1DiLNkHLU_8WlL9Ws_euvhTm2mBHtTxDXaN_Ozncq-dJ65aLdA"
      type="text/javascript"></script>
    <script type="text/javascript"> 
    var directions;
    function initialize() {
      directions = new GDirections();
      directions.load("from: 500 Memorial Drive, Cambridge, MA to: 4 Yawkey Way, Boston, MA 02215 (Fenway Park)", {travelMode:G_TRAVEL_MODE_DRIVING});
	  alert(directions.getDistanceAsync().meters);
    }
    </script>
 
Das directions.load sollte das Routenobjekt zurückgeben vom Server. die Klasse GDirections() sollte dir Methoden bereitstellen, mit denen du auf den Inhalt zugreifen kannst. Dieses "directions.getDistanceAsync().meters" sieht danach aus, nur das in deinem Beispiel oben eine Javascript Alertbox aufpoppt und du das wahrscheinlich eher an eine Variable übergeben willst.
 
??
Kannst du vielleicht sagen, was ich dann verändern muss?