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 |
AW: Google Maps über COM (Component Object Model)
JO, genau so, klappt es auch.... super
Gruß Borni |
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 |
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.
|
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 |
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; |
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 |
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:
oder schlicht und einfach die JavaScript-Fehlermeldungen des Browsers unterdrücken
LoadAPIAsync(InitMap,'','',3.8,false,[libPlaces]);
Delphi-Quellcode:
und schauen, ob das Edit-Feld trotzdem seine Arbeit verrichtet.
WebBrowser1.Silent:=true;
|
AW: Google Maps über COM (Component Object Model)
funktioniert beides (also apiversion oder unterdrücken)
thx korffi |
AW: Google Maps über COM (Component Object Model)
Prima. :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:17 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