Delphi-PRAXiS
Seite 12 von 14   « Erste     2101112 1314      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Google Maps über COM (Component Object Model) (https://www.delphipraxis.net/157004-google-maps-ueber-com-component-object-model.html)

Thom 10. Feb 2014 21:37

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

leider gibt's da keine Events bei einem Klick oder beim Verschieben. Die einzige "offizielle" Möglichkeit besteht darin, beim DirectionsRenderer auf das Ereignis directions_changed (in Delphi OnDirectionsChanged) zu reagieren:
Zitat:

This event is fired when the rendered directions change, either when a new DirectionsResult is set or when the user finishes dragging a change to the directions path.
Viele Grüße
Thomas

manfred_h 11. Feb 2014 13:43

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

Du hast mir vor einiger Zeit eine sehr schöne Demo für den Batchimport bereitgestellt.
Diese würde ich sehr gerne verwenden. Für Deinen Aufwand möchte ich Dir auch gerne den
abgesprochenen Betrag überweisen. Leider erreiche ich Dich per Mail nicht... habe es mehrfach versucht
Wenn Du Zeit hast schreib mir doch eine Mail oder eine PN. :wink:

Shalom
Manfred

DelphiFan2008 15. Feb 2014 10:47

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

arbeite gerade mal wieder an einem "älteren" Projekt. Habe das komplette Verzeichnis kopiert. Version/Datum im Quelltext angepasst (nur interne Integer/String Größen) - Programm kompiliert, gestartet und wie immer Streckendaten eingelesen und es erscheint weder ein Polygon noch die Marker - hatte immer funktioniert.

Lade ich das alte Projekt aus dem ursprünglichen Verzeichnis oder ursprünglichen Verzeichnissen, so zeigt das Programm die Daten Elemente korrekt an. Stimmt was nicht in der Projektverwaltung oder hängt es mit deinem Framework zusammmen. Hast du schon mal dieses Verhalten beobachtet.

Verzeichnisse
...
\Programm\100\Daten
\Programm\101\Daten
...

Karte und Auschnitte werden korrekt dargestellt - nur Polygon/Marker ohne Fehlermeldung gar nicht. Höhendaten per Service ermitteln funktioniert, Geocoder ebenfalls. Sind alles Elemente im Programm die funktionieren.

Gruß DelphiFan2008

jonathan 20. Feb 2014 09:22

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

Zitat von Thom (Beitrag 1228561)
Bezüglich der Schatten:
Ich hatte das gerade noch mal mit der Demo InfoWindowSimple probiert: Das Einfügen von ",'','',3.13" bei LoadAPIAsync funktioniert. Probiere das mal bitte mit dieser Demo und lies bei Deinem Programm die Versionsnummer des APIs aus.

Viele Grüße
Thomas

Kann es sein, dass der Schatten seitens GOOGLE jetzt komplett deaktiviert ist?
Weder über Deine Demo noch sonst irgendwie schaffe ich es den Objekt-Schatten wieder zu aktivieren.
Das mit "3.13" hat eine Zeit lang funktioniert - jetzt wohl nicht mehr...:(
Oder gibt es doch noch eine Möglichkeit?

Edit:
Habe alle Versionen bei InitMap versucht - hier das, was mir dann per Maps.Version gemeldet wird:
Code:
< 3.0         => 3.16.0
3.0           => 3.15.12
3.1 bis 3.14  => 3.14.16
3.15          => 3.15.12
> 3.15        => 3.16.0
Kann das jemand bestätigen, dass diese drei möglichen Versionen (3.14.16, 3.15.12, 3.16.0) alle keinen Schatten mehr zeigen!?
Vielen Dank!

ChKolumbus 22. Feb 2014 13:48

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

Zitat von Thom (Beitrag 1070739)
Beispiel 3
Ein- und Ausschalten der Steuerelemente.
Anhang 32934
Compilierte Demo:

Hallo Tom,

leider funktioniert das Ein- und Ausblenden einiger Map Controls nicht mehr richtig. Deutlich wird das auch in dem vor einiger Zeit mal veröffentlichten Beispiel-Programm aus Beitrag

Zitat:

Zitat von Thom (Beitrag 1070739)
Beispiel 3
Ein- und Ausschalten der Steuerelemente.
Anhang 32934
Compilierte Demo:

MapTypeControl und StreetViewControl gehen noch.
NavigationControl und Scale Control gehen leider nicht mehr.

Das setzen der Properties .MapTypeControl und .ScaleControl von TMap bleibt nun leider wirkungslos.

Hat jemand einen Tip wie man das wieder hinbekommen kann? Ich blicke da leider nicht genug durch :-(

Wird es irgendwann eine Anpassung an die GoogleMaps Api Version 3 geben? Ist in dieser Richtig etwas geplant?

Schon mal vielen Dank für eure eventuelle Hilfe!

jonathan 22. Feb 2014 17:11

AW: Google Maps über COM (Component Object Model)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zu Map.ScaleControl kann ich noch anmerken: gänzlich wirkungslos bleibt es wohl nicht.
Es wird jetzt leider statt des Lineals in der "Fusszeile" neben 'Kartendaten' etwas "merkwürdiges" sichtbar...

Edit: und zu NavigationControl heisst es in gmMap:
Code:
    //Anfängliche Anzeigeoptionen für die Navigationssteuerung.
    //ab Version 3.3 veraltet
    //deprecated 'V3.3: Use ZoomControlOption and PanControlOptions':

hewy 3. Apr 2014 11:03

AW: Google Maps über COM (Component Object Model)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Thomas

irgendwie steig ich noch nicht ganz durch. Ich brauche in einer Applikation verschiedene Marker, in unterschiedlichen Farben und Formen, sowie auch InfoWindows.
Siehe beigelegtes Bild.

Gibt es bereits ein Beispiel welches veranschaulicht wie dies zu realisieren ist oder kann mir jemand ein Beispiel zusammenstellen?

Wäre sehr dankbar für ein Umfassendes Beispiel.
Henry

hewy 6. Mai 2014 21:10

AW: Google Maps über COM (Component Object Model)
 
Hallo
Nun kann ich meine Marker setzen sieht etwas anders aus als vorher, aber ist ok. Meine Frage bezog sich allerdings nicht auf das was ich brauchte, eigentlich wollte ich wissen wie ich die Google Begrenzung umgehen kann und die Marken schneller zeichnen.

hewy 6. Mai 2014 21:14

AW: Google Maps über COM (Component Object Model)
 
Hallo
Vielleicht kann mir jemand erklären weshalb wenn ich ein Route berechne die nur mit ein par wenigen WayPoints funktionier, ab einer gewissen Anzahl WayPoints wird die Route nicht mehr angezeigt, welche Art von Grenzen gibt es hier?
Auch suche ich eine Möglichkeit eine Route wider aus der Karte zu löschen, geht das? Und wenn ja wie? Komme selbst nicht dahinter.
Danke im Voraus
Henry

array81 7. Mai 2014 09:10

AW: Google Maps über COM (Component Object Model)
 
Any support for Android and iOS on Delphi XE6 and new TWebBrowser? (sorry I do not speak German)

manfred_h 7. Mai 2014 09:28

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

Zitat von hewy (Beitrag 1254539)
Gibt es bereits ein Beispiel welches veranschaulicht wie dies zu realisieren ist oder kann mir jemand ein Beispiel zusammenstellen?

Hallo Henry
Schau doch mal in den Demos nach:
( GoogleMaps_2.0_Source&Demos.zip im obersten Post jeder Seite :lol:)
GoogleMaps\Demos\Overlays

Shalom
Manfred

hewy 7. Mai 2014 20:11

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

Danke für den Hint.

Also hab folgendes gemacht:
with Script do
begin
for n:=0 to Markers.Count-1 do
Markers[n].Map:=nil;
Markers.Clear;
end;

Das Löscht die normalen Marker, aber die Route und die dazugehörigen Waypoint Marken bleibt stehen.
Vielleicht noch eine Idee wie ich auch oder besser nur die Route los werde?
Danke und Gruss
Henry

hewy 12. Mai 2014 20:36

AW: Google Maps über COM (Component Object Model)
 
Hallo
noch eine Frage: Wie kann ich bei den Markers die Umrandungfarbe (Stroke) setzen?
Besten Dank und Gruss
Henry

Peter.Stadler 29. Mai 2014 07:26

Compilation mit XE6?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

Ist es jemandem bereits gelungen, das framework mit Delphi XE6 zu kompilieren?
Nach updaten des gmConfig.inc file bekomme ich einige Compilations-Fehler.

Ich habe die Datei gmConfig.inc als zip file angehängt. Vielleicht ist da was falsch?

mfg Peter

GPRSNerd 29. Mai 2014 12:56

AW: Google Maps über COM (Component Object Model)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

ich habe keine Probleme mit XE6 mit meiner angepassten Include-Datei, siehe Attachment.

Gruß,
Stefan

Peter.Stadler 29. Mai 2014 21:05

gmConfig für XE6
 
Hallo,

Meine gmConfig.inc Datei scheint in Ordnung zu sein. Ich musste nur eine weitere alte gmconfig.inc Datei entfernen, die sich im Suchpfad befand.
D. h. jetzt läuft alles!

mfg Peter

hewy 26. Jun 2014 15:36

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

seit einiger Zeit arbeite ich an einer Routeberechnung mit mehreren Waypoints. Funktioniert alles soweit sauber. Hab dennoch eine Frage dazu: Gibt es eine Möglichkeit den Waypoints eine ID mitzugeben damit ich nach der Berechnung diese wieder meiner ursprünglichen Liste zuordnen kann. Die Optimierung will ich nämlich nicht abschalten, so entspricht die Reihenfolge der Waypoints nicht mehr den ursprünglich übergebenen?

Vielleicht kann mir jemand einen Hint dazu geben.
Besten Dank schon mal.

GPRSNerd 4. Nov 2014 14:01

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

besteht noch ne Chance wenigstens deine letzten angekündigten Änderungen (2.2, oder 3.0) zu der Lib zu bekommen?

Ich habe auf der Suche nach Ersatz die gmlib von cadetill ausprobiert, die sind zwar durch Designtime-Komponenten komfortabler zu benutzen, aber dermaßen schnarchlangsam, dass sie eigentlich nicht benutzbar sind (2500 Trackpunkte zu einer Polyline hinzufügen dauert über 8min, wohingegen das mit deinen Libs in 2 Sekunden geht). Icons zu Marker kann man auch nicht aus dem Speicher laden sondern nur über ein URL/File usw.

Schade, dass eine so gute Lib nicht mehr gepflegt wird, neue Features der GoogleAPI werden wir dann wohl damit nicht mehr sehen...

Grüße!

DelphiFan2008 4. Nov 2014 20:31

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

auch ich möchte mich Stefan anschließen - dein Lösungsansatz ist wirklich gelungen umgesetzt und es hilft der Delphi-Gemeinde attraktive "freie" Applikationen umzusetzen und die Attraktivität hoch zu halten...

Wäre super, wenn du das Projekt weiterführst .. genialer Umsetzung, geniales Know-how, viele..viele..Stunden Freizeit .. ich verbeuge mich vor dir

erwartungsvoll auf V3

Gruß DelphiFan2008

Golddigger 15. Jan 2015 13:31

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

Zitat von hewy (Beitrag 1258655)
Hallo
noch eine Frage: Wie kann ich bei den Markers die Umrandungfarbe (Stroke) setzen?
Besten Dank und Gruss
Henry

GMMarker1.Items[i].MarkerType := mtColored; //Markertype ändern um zugriff zu haben
GMMarker1.Items[i].ColoredMarker.PrimaryColor := clGreen; //in grün
GMMarker1.Items[i].ColoredMarker.StrokeColor := clBlack; //mit schwarzen Rand

iRedbull 18. Feb 2015 07:38

AW: Google Maps über COM (Component Object Model)
 
Guten Morgen Allerseits,

ich finde die Arbeit von euch echt Klasse, mein Respekt.
Entwickel erst seit kurzen mit Delphi, zu dem bin ich kein Krack in der hinsicht.

ich momentan folgendes Problem ich entwickel eine Firemonkey App für
Android un iOS unter XE7 die eine Art Fahrtenbuch beinhaltet.

Das Framework mit der Google Maps Api ist nicht zufällig Firemonkey bzw Mobile OS kompatibel?

MfG
Seb

Daniel 18. Feb 2015 07:42

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

Zitat von iRedbull (Beitrag 1290303)
Das Framework mit der Google Maps Api ist nicht zufällig Firemonkey bzw Mobile OS kompatibel?

Auf den mobilen Plattformen würde ich die dort vorhandenen nativen Frameworks nutzen. Diese sind - sowohl für iOS als auch für Android - für die Verwendung mit Delphi gekapselt.

iOS:
http://sourceforge.net/projects/dpfdelphiios/

Oder für beide Plattformen (kommerziell):
http://www.tmssoftware.com/site/tmsfmxwebgmaps.asp

duff 18. Feb 2015 08:23

AW: Google Maps über COM (Component Object Model)
 
Hallo, ich bekomme seit heute morgen einen "Fehler bei Bereichsprüfung" beim anlegen des Kartenobjekts

Delphi-Quellcode:
GMap := Google.Maps.Map(Document.GetElementById('div_map'),GMOptions);
Hat jemand das selbe Problem?

Daniel 18. Feb 2015 08:33

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

ja, das kann ich hier bestätigen.

duff 18. Feb 2015 09:12

AW: Google Maps über COM (Component Object Model)
 
Hat Google da etwas umgestellt?

iRedbull 18. Feb 2015 10:55

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

Borni 18. Feb 2015 11:23

AW: Google Maps über COM (Component Object Model)
 
Den Fehler habe ich auch

GPRSNerd 19. Feb 2015 03:18

AW: Google Maps über COM (Component Object Model)
 
Google hat wohl am 17.02. auf die API v3.19 zwangsumgestellt.
Hier ein paar Details auf StackOverFlow:

http://stackoverflow.com/questions/2...broken-in-ie11

Da die Lib ja noch API v2 macht und das versprochene Update auf v3 von Thom wohl nicht mehr kommt, müssen wir selbst gucken, ob wir die Lib entsprechend hochziehen können...

GPRSNerd 19. Feb 2015 03:31

AW: Google Maps über COM (Component Object Model)
 
Das war einfach!

In gmAPI.pas ab Zeile 1373 folgendes ändern:
1. zuerst den DEFINE IE7_MODUS enablen.
2. Und den Contenttype auf content="IE=edge" ändern.

Delphi-Quellcode:
{$DEFINE IE7_MODUS}
{$DEFINE USE_ONLOADCALLBACK}
{$DEFINE USE_SPLASHSCREEN}
{$DEFINE USE_ANIINDICATOR}                                 //don't work with IE6 (IE7?)

function HTMLPage(LoadAPI: Boolean = true; DivName: String = '';
                  Language: String = DefaultLanguage;
                  Region: String = DefaultRegion;
                  APIVersion: Double = DefaultVersion;
                  UseSensor: Boolean = false;
                  Libraries: TGoogleLibraries = []): String; overload;
begin
  Result:={$IFDEF IE7_MODUS}
          '<!DOCTYPE html>'+sLineBreak+
          {$ENDIF}
          '<html>'+sLineBreak+
          ' <head>'+sLineBreak;
  {$IFDEF IE7_MODUS}
    Result:=Result+
          '   <meta http-equiv="X-UA-Compatible" content="IE=edge" />';
  {$ENDIF}
Mal sehen, wie lange das geht...

Edit: Eine Karte bekomme ich angezeigt und kann in der auch navigieren, einen Track mit Wegpunkten einzeichnen erzeugt aber Exceptions in HTMLObjects.GetBody().

Borni 19. Feb 2015 07:49

AW: Google Maps über COM (Component Object Model)
 
Karten anzeigen läuft wieder, super Arbeit!!!

"Nur" das getbody geht in die Hose....

GPRSNerd 19. Feb 2015 10:02

AW: Google Maps über COM (Component Object Model)
 
Wie oben schon gesagt, bei mir geht jetzt nur leider der vollständige Kartenrefresh mit Script.Free und erneutem TScript.Create() nicht mehr, da wirft dann HTMLObjects.TDocument.GetBody() eine Exception. Anscheinend kann dann der <body>-Node im erzeugten HTML nicht mehr gefunden werden.
Wenn ich das Script leben lasse und einfach LoadAPIAsync(Initmap) erneut aufrufe, kommen Exceptions durch die BrowserTools.GetZoom/GetCenter, die Exception durch GetBody() ist dann weg.
Könnte sich das ein XML-Experte mal ansehen, das übersteigt meine Fähigkeiten?!

GPRSNerd 19. Feb 2015 11:13

AW: Google Maps über COM (Component Object Model)
 
Das hat mir doch keine Ruhe gelassen, da ich gerade in Myanmar bin und meine täglichen GPSTracks dekodieren und anzeigen möchte! :(

Hier ein Fix, der ohne Veränderung der gmlib-Sourcen auskommt (also wieder die originale gmAPI.pas zurückbauen) und keine bisher beobachtbaren Nebenwirkungen hat, aber wohl nur eine begrenzte Lebensdauer.
Anstatt LoadAPIAsync(InitMap) aufzurufen, folgende Parameter hinzufügen, die dann die letzte funktionierende API-Version v3.18 erzwingt:

Delphi-Quellcode:
    with TScript.Create(wbGoogleMap) do
      LoadAPIAsync(InitMap,
                   DefaultLanguage,
                   DefaultRegion,
                   3.18);
Wenn Google diese aber in der Zukunft als deprecated flaggt und nicht mehr zulässt, gehts so natürlich nicht mehr. :)

Borni 19. Feb 2015 12:02

AW: Google Maps über COM (Component Object Model)
 
Bei mir klappt es sogar mit 3.20, es scheint so als ob es reicht nur die VersionNr. mit zu übergeben. Es funzt wieder alles, auch das Tracking

DelphiFan2008 22. Feb 2015 15:01

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

danke für deinen "SW-Fix". War schon beunruhigt, dass meine Applikationen mit Kartendarstellung und Streckenzug/Polygon nicht mehr funktionieren. Von Thom hört man gar nichts mehr ... :pale: Schade!

Gruß DelphiFan2008

Klaus Budmiger 23. Feb 2015 15:06

AW: Google Maps über COM (Component Object Model)
 
Eine Frage: hat jemand die Libraries mit XE7 zum Laufen gebracht?
Welches ist die aktuelle Version?
Vielen Dank!

GPRSNerd 24. Feb 2015 08:03

AW: Google Maps über COM (Component Object Model)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Die Version 2.0 läuft mit den Original-Dateien aus Post#1 und meiner angepassten XE7-inc-Datei unter XE7 einwandfrei.
Version 2.1 war nur für spendende Supporter.

Anhang 42620

GPRSNerd 5. Apr 2015 14:04

AW: Google Maps über COM (Component Object Model)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Anbei die erweiterte inc-Datei für das zukünftige XE8, unter der Vorraussetzung, dass die Versionsnummern (VER290, CompilerVersion=29) wie immer einfach hochgezählt werden.

Anhang 42850

himitsu 5. Apr 2015 14:51

AW: Google Maps über COM (Component Object Model)
 
Ich denk auch mal, daß es einfach hochgezählt wird.
29 ist auch keine böse Zahl, so wie die übersprungene 13.

Zitat:

Delphi-Quellcode:
{$IFDEF VER240}
  {$DEFINE DELPHIXE3}
  {$IF CompilerVersion>=24}

Das IF CompilerVersion ist schon bissl nutzlos.
  • Delphi-Quellcode:
    > 24
    kann es dort niemals werden, denn nur IFDEF VER240,
  • und
    Delphi-Quellcode:
    = 24
    wird immer zutreffen.

Conditional-Expressions und die CompilerVersion-Konstante gibt es schon seit Delphi 6
und wenn man andersrum arbeitet, dann wird das alles viel kürzer, übersichtlicher und man muß vorallem langlebiger.
  • die VERxxx-Konstanten komplett vergessen (oder läuft dein Code wirklich noch in D1 D2 bis D5?)
  • aber wenn schon VERxxx, dann statt "ab Version" auf "bis Version" vergleichen, denn dann ist es egal, ob es eine neue Version gibt, da man die Probleme dort gefixt hat, wo sie bestehen. (in den bekannten Versionen)
  • oder man geht nur noch auf CompilerVersion
    Delphi-Quellcode:
    <=
    oder
    Delphi-Quellcode:
    >=
    , bzw.
    Delphi-Quellcode:
    =
    , wenn es ausschließlich für diese Version gilt.

GPRSNerd 27. Mär 2016 12:49

AW: Google Maps über COM (Component Object Model)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe die Anregung von himitsu wegen der redundanten und pflegeaufwändigen DEFINEs mal umgesetzt und auf das wesentliche reduziert.
Da die Komponente seit XE3 nicht mehr weiterentwickelt wurde, gibt es auch keine Änderungen für neuere Compiler-Versionen zu berücksichtigen, dementsprechend sind alle Compiler > XE3 kompatibel, die DEFINEs müssen dafür nicht mehr erweitert oder geändert werden.

jonathan 25. Mai 2016 09:17

AW: Google Maps über COM (Component Object Model)
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
ich bekomme seit heute laufend Script-Fehler in meiner Applikation (die seit einigen Jahren problemlos läuft).
Ich habe mal zwei Fehlermeldungen angefügt...

Hat jemand eine Ahnung, was hier los ist?
Was hat GOOGLE hier umgestellt, dass es plötzlich nicht mehr funktioniert??

Stehe ziemlich auf dem Schlauch und bin für jeden Tipp dankbar...

[Edit]
Es wird wohl an der Umstellung auf 3.24 liegen:
https://groups.google.com/forum/#!to...fy/zt-SHMtNRiI

Die spannende Frage ist nur, was ist zu tun, um die Delphi-API wieder zum funktionieren zu bewegen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 Uhr.
Seite 12 von 14   « Erste     2101112 1314      

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