Ertsmal ein Kompliment für die tolle Arbeit.
Ich bin jetzt zunächst mal durch die Demos durch, und komme langsam klar. Ein Problem, wurde hier auch schon mal angesprochen:
Delphi-Quellcode:
if Script = nil then
with TScript.Create(WebBrowser1) do
LoadAPI(InitMap); //<--- habe ich von LoadApiAsync in LoadApi geändert
with Script do
begin
Geocoder.Geocode(TGeocoderRequest.Create(s), //<----- hier Zugriffsverletzung
procedure(Sender: TObject; Results: TGeocoderResultArray;
Status: String)
var
MarkerOptions: TMarkerOptions;
I: Integer;
idx : Integer;
abort : Boolean;
begin
abort := false;
if Status = Google.Maps.GeocoderStatus.OK then
begin
Map.SetCenter(Results[0].Geometry.Location);
MarkerOptions := TMarkerOptions.Create;
with MarkerOptions do
begin
Map := self.Map;
Position := Results[0].Geometry.Location;
end;
New(Google.Maps.Marker(MarkerOptions));
end
else
ShowMessage('Karte kann nicht angezeigt werden. ' +
'Originalmeldung: ' + Status);
end);
end;
end;
Wenn ich das
API im onShow oder onCreate initialisiere, und dann einen Moment warte, bis ich den Rest aufrufe, läuft alles. Durch die Umstellung auf LoadAPI, sollte aber doch sichergestellt sein, dass das
API vollständig geladen ist.
Freu mich auf Deine Antwort.
Viele Grüße
Sebastian