在我的主表单上,我有一个客户列表。我可以选择一个客户,然后单击一个按钮,该按钮加载 GMMap 并显示有关该客户的一些信息并显示客户位置。
这在第一次调用时效果很好,但在后续调用中会产生异常。在地图形式的FormShow中是以下...
procedure TfrmMap.FormShow(Sender: TObject);
begin
if not gmMap.Active then
begin
gmMap.Active := true;
end;
gmMap.RequiredProp.Center.Lat := customer.Lat;
gmMap.RequiredProp.Center.Lng := customer.Lng;
//Either of the following cause the exception after the first call success
gmMap.PanTo(gmMap.RequiredProp.Center.Lat, gmMap.RequiredProp.Center.Lng);
gmMap.SetCenter(gmMap.RequiredProp.Center.Lat, gmMap.RequiredProp.Center.Lng);
end;
procedure TfrmMap.FormClose(Sender: TObject; var Action: TCloseAction);
begin
gmMap.Active := false;
end;
当我第二次调用 gmMap.SetCenter 或 gmMap.PanTo 时,我得到一个异常......
Página inicial aun no cargada (Initial page not yet loaded)
但是,将 setCenter 调用移动到“AfterPageLoaded”事件会产生进一步的异常(此页面上的脚本中发生错误)。
我的问题是。每次我从主表单调用地图表单时,如何正确重置 GMMap 的中心以显示新的客户位置。
德尔福 XE
GMLIB 1.5.5