谷歌地图的工作客户端ID和签名



我们已经在Delphi 2007应用程序中实现了优秀的GMLib库,一切正常。我们需要使用Google Maps for Work许可证(并且需要增加配额)。我们不知道如何在底层JavaScript中实现这一点。

不幸的是,GMLib的作者最近没有太多的活动。有人知道他们是否会在(不久的)将来支持这个代码吗?

最终我们自己找到了答案:

  1. 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控件上没有文档,这将导致上述过程运行。

    相关内容

    • 没有找到相关文章