我们已经在Delphi 2007应用程序中实现了优秀的GMLib库,一切正常。我们需要使用Google Maps for Work许可证(并且需要增加配额)。我们不知道如何在底层JavaScript中实现这一点。
不幸的是,GMLib的作者最近没有太多的活动。有人知道他们是否会在(不久的)将来支持这个代码吗?
最终我们自己找到了答案:
-
Resources文件夹中的map.html需要从API_KEY更改为client
src="http://maps.google.com/maps/api/js?v=3.17&key=API_KEY&etc. src="http://maps.google.com/maps/api/js?v=3.17&client=API_KEY&etc.
和资源文件需要重建
-
GMMap。APIKey现在可以设置为客户端id(由Google发布),形式为game -myclientid。Google还要求在客户端门户上注册推荐人URL,它是客户端id和推荐人URL的组合,可以访问
-
(重要位)GMMapVCL。Pas需要更新
procedure TGMMap.LoadBlankPage; begin if not (FWebBrowser is TWebBrowser) then Exit; FDocLoaded := False; //TWebBrowser(FWebBrowser).Navigate('about:blank'); TWebBrowser(FWebBrowser).HandleNeeded; TWebBrowser(FWebBrowser).Navigate('http://myvalidreferrerurl'); end;
也许可以注册。空白作为有效的引用URL,但这将有效地向任何知道客户端id的人开放访问。相反,在加载GMMap时,请确保TWebBrowser控件上没有文档,这将导致上述过程运行。