有人可以给我一个简单的示例,我如何使用GMLib实现以下情况:
我有一些地址(街道,号码,城市),我想用连接所有这些地方的google maps做一条路线。
我正在使用Delphi XE2。
非常感谢!
最佳答案
您需要一个TWebBrowser,一个TGMMap和一个TGMDirection并连接这些组件,以便:
TGMDirection.Map-> TGMMap
TGMMap.WebBrowser-> TWebBrowser
活动TGMMap(活动:= true),在AfterPageLoaded事件上输入以下代码:
procedure TMainFrm.GMMap1AfterPageLoaded(Sender: TObject; First: Boolean);
begin
if First then GMMap1.DoMap;
end;
现在,您只需要使用原始地址和目标地址配置TGMDirection并调用Execute方法:
// minimum config
TGMDirection.DirectionsRequest.Origin.Address := 'Origin address';
TGMDirection.DirectionsRequest.Destination.Address := 'Destination address';
TGMDirection.Execute;
您需要知道,对Execute方法的所有调用都会在DirectionsResult数组中创建一个新Item。此数组具有Count个项目(从0开始)。另外,您还需要知道每个结果都可以返回(如果Status = dsOK,则返回1个或更多结果存储到Routes数组中(也基于0)。
TGMDirection.DirectionsResult -> array with all request
TGMDirection.DirectionsResult[X].Routes -> array with all results of a request if Status = dsOK
问候