2

我安装了这个 JavaScript 项目,它尝试使用客户端 JavaScript 获取用户的地理位置。

https://github.com/codejoust/session.js/

位置查找的默认机制是 Google 的jsapi功能。

Google 会在一定数量的请求后限制我的应用获取此信息的能力吗?

有问题的函数如下所示:

gapi_location: function(){
      return function(callback){
        var location = util.get_obj(options.location_cookie);
        if (!location || location.source !== 'google'){
          win.gloader_ready = function() {
            if ("google" in win){
              if (win.google.loader.ClientLocation){
                win.google.loader.ClientLocation.source = "google";
                callback(win.google.loader.ClientLocation);
              } else {
                callback({error: true, source: "google"});
              }
              util.set_cookie(
                options.location_cookie,
                util.package_obj(win.google.loader.ClientLocation),
                options.location_cookie_timeout * 60 * 60 * 1000);
            }}
          util.embed_script("https://www.google.com/jsapi?callback=gloader_ready");
        } else {
          callback(location);
        }}
    },
4

2 回答 2

1

来自:http ://code.google.com/intl/pl-PL/apis/maps/documentation/geocoding/#Limits

使用限制 Google Geocoding API 的使用受限于每天 2,500 个地理定位请求的查询限制。(Google Maps API for Business 的用户每天最多可以执行 100,000 个请求。)强制执行此限制是为了防止滥用和/或重新利用 Geocoding API,并且此限制将来可能会更改,恕不另行通知。此外,我们强制执行请求速率限制以防止滥用服务。如果您超过 24 小时限制或以其他方式滥用服务,Geocoding API 可能会暂时停止为您工作。如果您继续超过此限制,您对 Geocoding API 的访问可能会被阻止。注意:Geocoding API 只能与谷歌地图一起使用;禁止在未在地图上显示的情况下对结果进行地理编码。有关允许使用的完整详细信息,

于 2012-01-20T22:17:53.740 回答
1

我认为您不是在问地理编码,而是在问位置。ClientLocation 已弃用,不应依赖。我会使用 HTML5 Geolocation 作为您的第一个选项,如本示例中所示。

于 2012-01-20T22:30:09.743 回答