Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: TomLudwig am 30.04.07 - 09:28:45

Titel: Entfernung zwischen Orten
Beitrag von: TomLudwig am 30.04.07 - 09:28:45
Guten Morgen zusammen,

ich möchte gerne die Entfernung zwischen zwei Adressen ala "map24 - routing" bestimmen. Und dann mir die Fahrtzeit und Entfernung zurückgeben lassen.

Map24 bietet eine Schnittstelle an die man mittels AJAX auf einer Website einbinden kann.
Auch folgende Links sind intressant:
http://atnotes.de/index.php?topic=35839.0
http://atnotes.de/index.php?topic=14391.0

Da es sich aber bei mir um keine Webanwendung handelt, möchte ich gerne einen JAVA Agenten schreiben der mir einen HTTP-Request absendet und ein XML oder der gleichen zurückliefert.
Leider habe ich noch keinen Anbieter (am besten konstenlos natürlich  :) ) gefunden, dem ich einen Request wie http://www.Anbiter.de&start=Berlin&ziel=Muenchen schicken kann.

Hat jemand sowas schon mal gemacht oder ne Idee welcher Anbieter möglich wäre?

Danke euch vielmals
Tom
Titel: Re: Entfernung zwischen Orten
Beitrag von: eknori (retired) am 30.04.07 - 09:33:13
nimm doch die google.maps API
Titel: Re: Entfernung zwischen Orten
Beitrag von: TomLudwig am 30.04.07 - 09:37:20
Die hab ich mir schon angeschaut. Leider bestimmt diese aber nur die Entfernung zwischen zwei Orten. Also quasie die Luftlinie.

Siehe:
http://www.google.com/apis/maps/documentation/index.html#Geocoding_Etc

Zitat
Routing and Local Search
The Google Maps API does not include routing services at this time. However, there are a number of free routing APIs on the web. If you would like to add local search capabilities to your site, you can use the Google AJAX Search API to embed a local search module into your site.
Titel: Re: Entfernung zwischen Orten
Beitrag von: eknori (retired) am 30.04.07 - 09:43:57
Du kannst aber auch das Routing von google nehmen. Das liefert dir dann die Infos
Titel: Re: Entfernung zwischen Orten
Beitrag von: TomLudwig am 30.04.07 - 09:53:30
Ich glaube wir reden aneinander vorbei.  ;)

Ich möchte einen HTTP Request absenden. Ich möchte nicht die ganze Karte auf einer Website oder der gleichen einbinden.
Ich kann bei Google auch einen Request absenden. Aber nur um einen Ort und dessen Koordinaten zu finden. Siehe http://www.google.com/apis/maps/documentation/index.html#Geocoding_HTTP_Request

Oder verstehe ich die Dokumentation von Google falsch?
 ???

Titel: Re: Entfernung zwischen Orten
Beitrag von: eknori (retired) am 30.04.07 - 10:01:35
Den Request kannst du doch absenden; und du bekommst einen response von Google. Soweit stimmen wir doch überein, oder?.
Was du nun aus dem Google-Response machst, musst du selber wissen. Man kann das als Karte darstellen lassen, oder anders verwursten.
Titel: Re: Entfernung zwischen Orten
Beitrag von: TomLudwig am 30.04.07 - 10:17:56
Ja, ich kann einen Request zu Google-Maps absenden der mir die Koordinaten und weitere Informationen zu EINER Adresse zurückliefert.
Ich kann aber keinen Request an Google-Maps senden, der mir den z.B. den kürzesten Weg zwischen zwei Adressen zurückliefert.
Titel: Re: Entfernung zwischen Orten
Beitrag von: eknori (retired) am 30.04.07 - 10:34:47
Das machst du doch aber genau mit

http://maps.google.com/maps?saddr=am+Zaunbusch+8+mettmann+de&daddr=Hoeferstrasse+15+Velbert+DE

und du bekommst einen Response;

Wenn es dir lediglich darum geht, die km zwischen den Adressen herauszubekommen, kannst du nach "Fahrt" parsen ( mit regex ) und kommst dann sehr schnell zum Ergebnis



Titel: Re: Entfernung zwischen Orten
Beitrag von: TomLudwig am 30.04.07 - 10:39:47
Woher hast du den Link?

Ich hab mir die ganze Zeit die API Dokumentation angeschaut und bin über das noch nicht gestolpert.
Kann man da noch weitere Parameter übergeben (kürzester Weg, schnellster Weg)?

Der Quelltext reicht mir voll und ganz, da kann ich dann wirklich alles rausziehen.
Titel: Re: Entfernung zwischen Orten
Beitrag von: azique am 30.04.07 - 10:55:08
Das ist ja mal interessant :)

Sowas könnte ich mir bei meiner Anwendung auch gut vorstellen.
TomLudwig, wenn du da weiterkommst, kannst du uns dann deine Ergebnisse mitteilen? Wäre toll, da bräucht ich nicht selbst die Doku durchwühlen - bzw. erst mal schauen, wo ich überhaupt anfangen soll.

Wie funktioniert das mit dem Anfrage absenden und Antwort erhalten eigentlich? Werd bei Gelegenheit dazu mal die Noteshilfe bequemen - aber schonmal danke für die Anregung!
Titel: Re: Entfernung zwischen Orten
Beitrag von: TomLudwig am 30.04.07 - 10:58:23
Ja kein Problem. Wenn ich fertig bin, dann poste ich einfach mal den Quellcode...
Wie man das in LotusScript oder Formelsprache macht weiß ich nicht. Aber per Java, kann man einen HTTPRequest einfach absetzten und bekommt als Rückgabe den Seitenquelltext der aufgerufenen Seite. Dort kann man dann nach Schlüsselwörtern suchen.


Man findet wirklich intressante Sachen, wenn man auf der Suche nach ner Doku für GoogleMaps ist:
Hier zum Beispiel ein versteckter Super-Zoom!
http://www.jmboard.com/gw/2007/03/08/geheimer-super-zoom-bei-den-google-maps/

Titel: Re: Entfernung zwischen Orten
Beitrag von: eknori (retired) am 30.04.07 - 11:01:07
Das müsste beim HTLMInfo stehen.

ich habe mir das mal für unsere Firma zusammengebaut und daraus eine Datenbank mit unseren Standorten gebastelt. Dort kann dann der, der zu uns finden möchte auf den Zielort klicken und dann seine Startadresse eingeben. Google liefert ihm dann die Anfahrtbeschreibung.

Ich denke, daß man das auch so umbauen kann und im Link Wegpunkte übergeben kann. Kürzester Weg oder dergleichen habe ich nicht gefunden

Titel: Re: Entfernung zwischen Orten
Beitrag von: TomLudwig am 30.04.07 - 14:52:31
Also, die Seite auslesen funktioniert ziemlich leicht mit:

Zitat
URL yahoo = new URL("http://maps.google.com/maps?saddr=Nuernberg&daddr=M%FCnchen");
URLConnection yc = yahoo.openConnection();     
       
BufferedReader in = new BufferedReader(
                                new InputStreamReader(
                                yc.getInputStream()));
String inputLine;

while ((inputLine = in.readLine()) != null)
             System.out.println(inputLine);
in.close();

Anschließend einfach nach bestimmten Strings suchen und ausgeben ;)
Titel: Re: Entfernung zwischen Orten
Beitrag von: azique am 30.04.07 - 15:52:46
Tolle Sache, danke! Werd ich mir später mal anschauen :)