Einzelnen Beitrag anzeigen

andras.szikra

Registriert seit: 4. Okt 2011
2 Beiträge
 
#135

AW: Google Maps über COM (Component Object Model)

  Alt 4. Okt 2011, 08:57
Hi,

Could you please publish that demo where route internal "over" point can be added? I don't know how to do it. Adding waypoints not working.

Thanks, András

Schön, daß es funktioniert!

Die Gesamtlänge eine Strecke bzw. Gesamtreisedauer kann zum Beispiel so ermittelt werden:
Delphi-Quellcode:
  TotalDistance:=0;
  TotalDuration:=0;
  with Result.Routes[0] do //<- erste Route
    for Leg:=0 to Legs.Count-1 do //<- alle Abschnitte durchgehen
      with Legs[Leg] do
      begin
        Inc(TotalDistance,Distance.Value); //<- Länge des Abschnitts
        Inc(TotalDuration,Duration.Value); //<- Reisedauer für diesen Abschnitt
      end;
Google Maps arbeitet mit den Spracheinstellungen des PC's. Auf meinem sendet der IE also ein 'de' - dementsprechend werden alle Menüs und Ausgaben auf Deutsch angezeigt. Es ist aber auch möglich, eine bestimmte Sprache zu erzwingen. Das geht beim Laden des API's. In der kommenden Version des Frameworks kann sie als Parameter angegeben werden:
Delphi-Quellcode:
 
procedure TScript.LoadAPIAsync(InitMapProc: TNotifyEvent;
                               UseSensor: Boolean;
                               Version: String;
                               Language: String; //<- 'de'
                               Libraries: TGoogleLibraries);
In den älteren Versionen (1.1 - 1.3) muß dafür in der Unit gmAPI die Funktion HTMLPage angepaßt werden:
Delphi-Quellcode:
  [...]
  Result:=Result+
          ' <script type="text/javascript" src="http://maps.google.com/maps/api/js?&sensor=';
  if UseSensor
    then Result:=Result+
        'true'
    else Result:=Result+
          'false';
  //zusätzlich:
  Result:=Result+'&language=de';
  [...]
So sieht zum Beispiel die Routenplanung mit 'ru' aus:
Anhang 35161 Anhang 35162 Anhang 35164
Allerdings funktioniert Unicode nur mit den entsprechenden Compilern und erst ab Version 2.0 des Frameworks.

Die Routeninformationen werden mit HTML-Tags (zum Beispiel <b></b>) geliefert. Die müßten dann selbst oder durch eine geeignete Komponente geparst und dargestellt werden.
  Mit Zitat antworten Zitat