AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Google Strecke berechnen

Ein Thema von capo · begonnen am 13. Feb 2009 · letzter Beitrag vom 13. Mär 2009
Antwort Antwort
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#1

Google Strecke berechnen

  Alt 13. Feb 2009, 10:34
Liebes Forum.
Ich möchte die Entfernung zwischen zwei Punkten berechnen lassen.
Momentan mache ich das so.
Ist aber so super langsam dass ich euch fragen möchte wie ich das optimieren kann?

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw, StdCtrls, shellapi, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdHTTP;

type
  TForm1 = class(TForm)
    wb: TWebBrowser;
    plz_1: TEdit;
    ort_1: TEdit;
    Strasse_1: TEdit;
    plz: TEdit;
    ort: TEdit;
    strasse: TEdit;
    Button2: TButton;
    Memo1: TMemo;
    Memo2: TMemo;
    kilometer: TEdit;
    Button3: TButton;
    Button4: TButton;
    IdHTTP1: TIdHTTP;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  wb.Navigate('http://maps.google.de/maps?f=d&source=s_d&saddr=' + plz_1.text + ' ' + ort_1.text + ' ' + Strasse_1.text + '&daddr=' + plz.text + ' ' + ort.text + ' ' + Strasse.text); //+'&ie=UTF8&z=8'
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  x1, x2: Integer;
  s: string;
  i: integer;
begin
  for i := 0 to Memo1.Lines.Count - 1 do
  begin
    s := Memo1.Lines[i];
    x1 := System.Pos('<DIV>[B]', s);
    x2 := System.Pos('km[/B] – ca.', s);
    if ((x1 > 0) and (x2 > 0)) then
    begin
      System.Delete(s, x1, x2 - x1 - 9);
      Memo2.text := s;
      memo2.text := Stringreplace(memo2.text, '', ' ', [rfReplaceAll]);
      memo2.text := Stringreplace(memo2.text, '[/B] ', ' ', [rfReplaceAll]);
      memo2.text := Stringreplace(memo2.text, '[B]', ' ', [rfReplaceAll]);
      memo2.text := Stringreplace(memo2.text, '[/B]</DIV></DIV>', '', [rfReplaceAll]);
      kilometer.text := memo2.text;
    end;
  end;

end;

procedure TForm1.Button3Click(Sender: TObject);
var
  DOM: variant;
  wort, wort2: string;
  i: integer;
begin
  wort := 'ist unbekannt.';
  wort2 := 'Meinten Sie';
  DOM := WB.Document;
  if Wb.LocationURL <> 'then begin
    memo1.text := DOM.Body.Innerhtml;

    for i := 0 to memo1.lines.count - 1 do
      if pos(wort, memo1.lines.strings[i]) <> 0 then begin
        Showmessage('Der Ort ' + Strasse.text + ', ' + plz.text + ' ' + ort.text + ' ' + wort);
      end
      else
        if pos(wort2, memo1.lines.strings[i]) <> 0 then begin

          if MessageBox(Handle, PChar('Überprüfen Sie bitte nochmal die Adresse, ' + #13#10 + 'wollen Sie die Adresse online bei "Google Maps" überprüfen lassen?'), PChar('Information'), $00000021) = IDOK then
          begin

            ShellExecute(Handle, 'open', pChar('http://maps.google.de/maps?f=d&output=html&saddr=' + Strasse_1.text + '+%2C+' + plz_1.text + '+' + ort_1.text + '&daddr=' + Strasse.text + '+%2C+' + plz.text + '+' + ort.text), nil, nil, SW_SHOW);
          end

          else
            ShowMessage('No page available!');
        end;
  end;
end;

end.
Hotte
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: Google Strecke berechnen

  Alt 13. Feb 2009, 10:35
Hi!

Vllt. hilft dir das hier weiter:
http://code.google.com/intl/de-DE/apis/maps/


Ciao, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Google Strecke berechnen

  Alt 13. Feb 2009, 10:45
Jepp, kenne ich, danke.
Das hier ist auch nicht schlecht.
http://www.ogee.de/blog/2008/05/google-maps-tutorials/
Würde es aber gerne ganz und gar nur mit Delphi machen.

Grüßl
Vito
Hotte
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Google Strecke berechnen

  Alt 14. Feb 2009, 13:29
Hat eventuell noch jemand eine Idee?
Ich würde mich sehr darüber freuen.
Gruss vom Vito
Hotte
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#5

Re: Google Strecke berechnen

  Alt 14. Feb 2009, 21:39
Was ich da jetzt erkennen kann ist, du möchtest 2 Punkte mit Adresse angeben und die Entfernung errechnen ?

Wenn dem so ist, musst du über google gehen um die Verbindung zwischen Adresse und Position zu bekommmen.

Wenn du die Position (in geo.-Koordinaten) aber kennst, kannst du die Entfernung relativ schnell berechnen. (siehe Wikipedia)

Wenn du die Koordianten aber erst in seperaten Anfragten von Google-Maps ermitteln musst, dürfte dein Weg schneller sein ...
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#6

Re: Google Strecke berechnen

  Alt 14. Feb 2009, 21:53
Zitat von jfheins:
Wenn du die Position (in geo.-Koordinaten) aber kennst, kannst du die Entfernung relativ schnell berechnen. (siehe Wikipedia)
Das is dann aber nur Luftlinie - Über Google Maps isses ja die Fahrstrecke
  Mit Zitat antworten Zitat
capo

Registriert seit: 7. Jul 2006
453 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Google Strecke berechnen

  Alt 13. Mär 2009, 08:10
Eben...ich brauche ja die Strecke.
Hotte
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:39 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz