1

以下是 Google 在其开发人员指南页面上指定的使用限制:

  • Google Maps JavaScript API v3 => 允许营利性网站每天生成多达 25,000 个地图加载
  • Google Geocoding API => 受每天 2,500 个地理定位请求的查询限制
  • Google Maps API for Business => 每天最多可以执行 100,000 个请求

我正在尝试使用上述任何一种方法与 Salesforce.com (SFDC) 平台上的 Visualforce 一起使用 [*]

我了解公共网站的请求是按 IP的。现在对于 SFDC,特定服务器上可能有许多不同的组织(例如,NA1)。因此,使用 SFDC 和 Google Maps API 的两家不同公司的 URL 可能位于https://na1.salesforce.com/something_here,它们的请求应单独计算。

会这样吗?每个 API 会发生什么情况?

[*]SFDC 是用于我们讨论目的的 SaaS 云。所有用户都通过同一页面登录,但他们可以登录到不同的“orgs”/“organizations”,但他们的 URL 可能看起来相似

4

2 回答 2

1

SO上的这个问题解决了直接从visualforce页面运行的地理编码API,Salesforce:Google maps query status 620 G_GEO_TOO_MANY_QUERIES ,它似乎意味着没有密钥,限制是共享的。我怀疑除非你打算放弃你正在开发的应用程序,否则你几乎会被迫选择升级后的 API 密钥。要解决此问题,您可能需要考虑的一件事是将地图部分托管在另一个位置,并将其 iframe 放入 Salesforce。

于 2012-04-12T18:49:19.510 回答
1

在这里区分服务器端和客户端限制很重要。服务器端地理编码 api将根据请求来自多少台机器(我假设 NA1 不是 1 台大型服务器)在共享 Salesforce 实例中强制执行 2500 限制。使用免费地理编码 API 的多个组织都将共享相同的服务器端地理编码限制。实际上,我在使用 Google 自己的 App Engine 平台时遇到了同样的限制,其中一堆应用程序共享相同的出站 IP 地址。

对于任何类型的保证性能,您都需要从您自己的服务器发送查询或使用 Maps for Business 路线,该路线可让您对查询进行身份验证以获得更高的限制。

通过 JavaScript API 进行的客户端地理编码没有这些服务器限制,因此如果用户使用 JS API 执行任何类型的操作来触发一两个地理编码是最佳途径。

您已经可以通过注册 API 密钥创建自己的“存储桶”来跟踪每天 25K 的地图加载。

于 2012-04-13T05:38:29.060 回答