AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Google Maps über COM (Component Object Model)
Thema durchsuchen
Ansicht
Themen-Optionen

Google Maps über COM (Component Object Model)

Ein Thema von Thom · begonnen am 23. Dez 2010 · letzter Beitrag vom 22. Mai 2022
Antwort Antwort
Benutzerbild von GPRSNerd
GPRSNerd

Registriert seit: 30. Dez 2004
Ort: Ruhrpott
239 Beiträge
 
Delphi 10.4 Sydney
 
#1

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

  Alt 7. Okt 2017, 18:08
Der Aufruf darf nicht mehr über LoadAPIAsync() gemacht werden, sondern über LoadAPI():

Delphi-Quellcode:
      //LoadAPIAsync(InitMap,
      LoadAPI (InitMap,
                   DefaultLanguage,
                   DefaultRegion,
                   GMapBrowserKey,
                   GMapAPIVersion,
                   GMapIEVersion);
PS: Ich habe die Funktion überladen, evtl. stimmen meine Parameter nicht mehr mit dem Standard überein.
Stefan
  Mit Zitat antworten Zitat
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
948 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

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

  Alt 10. Okt 2017, 19:51
Zitat:
Der Aufruf darf nicht mehr über LoadAPIAsync() gemacht werden, sondern über LoadAPI():
Komisch, die meistem Demos laufen auch unter 10.2.1 und nutzen LoadAPIAsync().
Könntest du kurz darauf eingehen warum nun nur LoadAPI genutzt werden soll.
Danke.
  Mit Zitat antworten Zitat
Peter.Stadler

Registriert seit: 30. Sep 2005
Ort: Mödling
21 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

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

  Alt 2. Nov 2017, 14:27
Hallo

Ich versuche das Framework von Thom in Rad Studio XE 10.2 Tokyo zu installieren. Dazu habe ich das file gmConfig.inc upgedated.
Leider gibt es dann einen Compilation error mit Studio XE 10.2 Tokyo, wenn ich versuche den Source in meine Programme einzubinden.
Vielleicht ist es ein Fehler im gmConfig.file, vielleicht auch nicht. Kann jemand das File testen? Im Bild 1 ist der Compilation error als Screenshot zu sehen.

Bin für jeden Hinweis dankbar.

Der Compilationsfehler
[dcc32 Fehler] GoogleMaps_Unit1.pas(2694): E2010 Inkompatible Typen: 'TMapEventEvent' und 'Procedure'
hängt vielleicht mit {$IFDEF USE_ANONYMOUS_METHODS} zusammen.
Der Fehler tritt auf in dieser Procedure:

Code:
procedure AttachSecretMessage(Marker: TMarker; Num: Integer);
  var
    //{$IFDEF USE_ANONYMOUS_METHODS}
    InfoWindow: TInfoWindow;
    //{$ENDIF}
    InfoWindowOptions: TInfoWindowOptions;
  var
    callString : string;
  begin
    with Script do
    begin
      InfoWindowOptions:=TInfoWindowOptions.Create;
      InfoWindowOptions.Content := MBParams[ActiveFilter,Num];
      InfoWindow := gmAPI.New(Google.Maps.InfoWindow(InfoWindowOptions));
      Marker.OnClick := procedure(Sender: TObject; Event: TEvent)
      begin
        InfoWindow.Open(Marker.GetMap,Marker);
        callString := 'GM '+MBParams[ActiveFilter,Num];
        actualSite := MBParams[ActiveFilter,Num];
        if(ClipboardCB=True) then
        begin
          Clipboard.AsText := actualSite;
        end
        else
        begin
          RunProg.RunProgramWaiting(progPath, '',callString);
        end;
      end;
    end;
  end;
mfg Peter
Miniaturansicht angehängter Grafiken
bild-1.jpg  
Angehängte Dateien
Dateityp: zip gmConfig.zip (2,0 KB, 10x aufgerufen)
Peter Stadler

Geändert von Peter.Stadler ( 2. Nov 2017 um 14:38 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von GPRSNerd
GPRSNerd

Registriert seit: 30. Dez 2004
Ort: Ruhrpott
239 Beiträge
 
Delphi 10.4 Sydney
 
#4

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

  Alt 2. Nov 2017, 14:35
Ich hatte in Post #479 mal eine aufwärtskompatible gmconfig.inc hochgeladen, die bei mir seitdem mit allen neuen IDEs ohne Anpassungen funktioniert:

http://www.delphipraxis.net/1333914-post479.html
Stefan
  Mit Zitat antworten Zitat
Peter.Stadler

Registriert seit: 30. Sep 2005
Ort: Mödling
21 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

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

  Alt 2. Nov 2017, 15:31
Vielen Dank für die versionsunabhängige gmConfig. Leider compiliert es nicht. Eigentlich sollte laut gmConfig die USE_ANONYMOUS_METHODS definiert sein,
aber InfoWindow ist undefiniert. Wenn ich die beiden conditionalen Abfragen auskommentiere, ist zwar InfoWindow definiert, aber der zuletzt aufgetretene Fehler kehrt zurück:

Code:
 procedure AttachSecretMessage(Marker: TMarker; Num: Integer);
  var
    //{$IFDEF USE_ANONYMOUS_METHODS}
    InfoWindow: TInfoWindow;
    //{$ENDIF}
    InfoWindowOptions: TInfoWindowOptions;
  var
    callString : string;
  begin
    with Script do
    begin
      InfoWindowOptions:=TInfoWindowOptions.Create;
      InfoWindowOptions.Content := MBParams[ActiveFilter,Num];
      InfoWindow := gmAPI.New(Google.Maps.InfoWindow(InfoWindowOptions));
      Marker.OnClick := procedure(Sender: TObject; Event: TEvent)
      begin
        InfoWindow.Open(Marker.GetMap,Marker);
        callString := 'GM '+MBParams[ActiveFilter,Num];
        actualSite := MBParams[ActiveFilter,Num];
        if(ClipboardCB=True) then
        begin
          Clipboard.AsText := actualSite;
        end
        else
        begin
          RunProg.RunProgramWaiting(progPath, '',callString);
        end;
      end;
    end;
  end;
Der Compilationsfehler: [dcc32 Fehler] GoogleMaps_Unit1.pas(2694): E2010 Inkompatible Typen: 'TMapEventEvent' und 'Procedure'.
Wenn ich mit XE8 compiliere tritt der Fehler nicht auf.

mfg Peter
Peter Stadler

Geändert von Peter.Stadler ( 2. Nov 2017 um 16:45 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von GPRSNerd
GPRSNerd

Registriert seit: 30. Dez 2004
Ort: Ruhrpott
239 Beiträge
 
Delphi 10.4 Sydney
 
#6

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

  Alt 2. Nov 2017, 20:15
Den Fehler hatte ich in der Vergangenheit auch mal, hängt mit der Reihenfolge des uses-Anweisungen zusammen: HTMLObjects muss nach gmEvents eingebunden werden, ich hatte in meiner App sogar noch einen Kommentar dahinter, siehe unten:

Delphi-Quellcode:
uses
  //GoogleMaps-API
  BrowserTools,
  gmBase, gmAPI, gmMap,
  gmOverlaysPolylinePolygon, gmOverlaysMarker, gmOverlaysBase,
  gmEvents,
  HTMLObjects, //immer als letztes da sonst Marker.OnClick nicht geht
Stefan
  Mit Zitat antworten Zitat
Peter.Stadler

Registriert seit: 30. Sep 2005
Ort: Mödling
21 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#7

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

  Alt 3. Nov 2017, 07:16
Danke für die Antwort.

Leider hat das Einhalten Deiner Reihenfolge keinen Einfluß auf den Compilationsfehler von oben.

mfg Peter
Peter Stadler
  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:

(?)

LinkBack to this Thread

Erstellt von For Type Datum
DELPHI | (google maps) This thread Refback 11. Nov 2011 09:07
Twebbrowser HTML tag to UniHTMLFrame1 - uniGUI Discussion Forums This thread Refback 4. Nov 2011 06:52
DoraDev1975: google maps This thread Refback 23. Sep 2011 08:18
delphi osm - Google Search Post #0 Refback 19. Sep 2011 09:02
DoraDev1975: ?ิ????? 2011 This thread Refback 11. Sep 2011 16:39
DoraDev1975 This thread Refback 30. Aug 2011 10:13
Untitled document This thread Refback 25. Jun 2011 19:57
Interact with Google Maps in a TWebBrowser from Delphi | Ramblings This thread Refback 26. Jan 2011 05:12
google maps mit delphi link - Google Search This thread Refback 24. Jan 2011 14:24
google maps mit delphi - Google Search This thread Refback 24. Jan 2011 14:20
Untitled document This thread Refback 19. Jan 2011 21:49

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