Delphi-PRAXiS
Seite 26 von 55   « Erste     16242526 272836     Letzte »    

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 16. Jul 2012 20:27

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

vielen Dank für das Lob und die Spende!
Die aktuelle Frameworkversion und die Bonus-Units sind per Email zu Dir unterwegs.

Zu Deiner Frage:
Links können über das OnBeforeNavigate2-Ereignis der Browser-Komponente überwacht werden. Das funktioniert auch mit Links innerhalb des Info-Fensters. Legst Du den Inhalt des Info-Fensters selbst fest, lassen sich über das Framework sogar anonyme und Objekt-Methoden direkt aufrufen. Meinst Du so etwas?

Viele Grüße
Thomas

Borni 17. Jul 2012 00:01

AW: Google Maps über COM (Component Object Model)
 
JO, genau so, klappt es auch.... super

Gruß Borni

Borni 18. Jul 2012 18:47

AW: Google Maps über COM (Component Object Model)
 
@Thom: Gibt es eine Möglichkeit eine grosse Anzahl von Markern(Koordinaten sind bekannt) als Liste zu Google zu senden ( ca. 2500-5000 Stk), um auf noch mehr Geschwindigkeit zu kommen ?


Gruß Borni

Thom 18. Jul 2012 19:38

AW: Google Maps über COM (Component Object Model)
 
Du könntest die MarkerClusterer-Bibliothek aus den Zusatz-Units nehmen oder einen KML-Layer verwenden. MarkerClusterer kann intern eine große Anzahl von Markern verwalten und ein KML-Layer wird von Google gerendert - die Marker sind dann alle sichtbar, aber nicht mehr einzeln ansprechbar. Dazu bräuchtest Du einen Server, von dem Google die KML-Datei abholen kann. Mit einer lokalen Datei funktioniert das aber auch, wenn man zum Beispiel in das Programm zusätzlich einen HTTP-Server mit den Indy-Komponenten einbaut.

korffi 24. Jul 2012 08:22

AW: Google Maps über COM (Component Object Model)
 
Also in der autocomplete demo stürzt bei mir nix ab (win7x64,ie9,Dxe2 recompiled) egal was ich ins edit feld eintrag es sei denn ich tippe ein "t"

und zwar nur beim kleinen t da möchte er die map reloaden

kann mir einer sagen was da das problem ist ? (gibt leider kein onkeydown event was ich abfangen könnte um zu sehen was für ne taste ankommt im feld


thx im vorraus

korffi

Thom 24. Jul 2012 10:09

AW: Google Maps über COM (Component Object Model)
 
Vielen Dank für den Hinweis!

Schön, daß bei Dir die Demo funktioniert.

Das Problem mit dem "t" habe ich gerade untersucht. Dummerweise entspricht der Code beim Loslassen der Taste T genau dem beim Betätigen der Taste F5. Deshalb muß eine Unterscheidung zwischen KeyDown und KeyUp in der Unit BrowserTools hinzugefügt werden:
Delphi-Quellcode:
unit BrowserTools;

uses
  ..., Messages;

function TDocHostUIHandler.TranslateAccelerator(const lpMsg: PMSG;
  const pguidCmdGroup: PGUID; const nCmdID: DWORD): HResult;
begin
  Result:=S_FALSE;
  if Assigned(FOnTranslateAccelerator) and Assigned(lpMsg) and
     (lpMsg.Message=WM_KEYDOWN) and FOnTranslateAccelerator(Self,lpMsg.wParam)
    then Result:=S_OK;
end;

korffi 24. Jul 2012 12:28

AW: Google Maps über COM (Component Object Model)
 
hehe das ja mal doof das des mit dem t der gleiche code ist aber
habs so umgebaut und funktioniert

nu bekomm ich immer nen scripterror den ich mit ja weiterklicken kann (ausm browser selbst )

http://maps.gstatic.com/cat_js/intl/...n,places%7D.js object erwartet

aber das wird wohl eher was vom ie sein oder bei google ;)

gruß

Korffi

Thom 24. Jul 2012 12:57

AW: Google Maps über COM (Component Object Model)
 
Ja - das ist ein Scriptfehler. Das könnte am JavaScript API (Du verwendest die 3.9.11) liegen und/oder am verwendeten Browser. Bei mir (Windows XP 32 Bit, IE 8, Delphi XE) tritt dieser Fehler nicht auf.
Du könntest versuchen, eine ältere API-Version zu laden und zu testen, ob dieser Fehler dort auch auftritt
Delphi-Quellcode:
LoadAPIAsync(InitMap,'','',3.8,false,[libPlaces]);
oder schlicht und einfach die JavaScript-Fehlermeldungen des Browsers unterdrücken
Delphi-Quellcode:
WebBrowser1.Silent:=true;
und schauen, ob das Edit-Feld trotzdem seine Arbeit verrichtet.

korffi 24. Jul 2012 13:41

AW: Google Maps über COM (Component Object Model)
 
funktioniert beides (also apiversion oder unterdrücken)

thx

korffi

Thom 24. Jul 2012 14:28

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


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:17 Uhr.
Seite 26 von 55   « Erste     16242526 272836     Letzte »    

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