Будет ли Google Throttle пытаться получить местоположение пользователя с помощью вызовов jsapi на стороне клиента? - PullRequest
2 голосов
/ 21 января 2012

Я установил этот проект 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);
        }}
    },

Ответы [ 2 ]

1 голос
/ 21 января 2012

Я думаю, что вы спрашиваете не о геокодировании, а о местоположении.ClientLocation устарела, на нее не следует полагаться.Я бы использовал HTML5 Geolocation в качестве первого варианта, как показано в этом примере .

1 голос
/ 21 января 2012

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

Пределы использования Использование API геокодирования Google ограничивается 2500 запросами геолокации в день. (Пользователь API Карт Google для бизнеса может выполнять до 100 000 запросов в день.) Это ограничение применяется для предотвращения злоупотреблений и / или перепрофилирования API геокодирования, и это ограничение может быть изменено в будущем без предварительного уведомления. Кроме того, мы применяем ограничение скорости запросов, чтобы предотвратить злоупотребление службой. Если вы превысили 24-часовой лимит или иным образом злоупотребили службой, API геокодирования может временно перестать работать для вас. Если вы продолжите превышать этот лимит, ваш доступ к API геокодирования может быть заблокирован. Примечание. API геокодирования можно использовать только вместе с картой Google; Результаты геокодирования без отображения их на карте запрещены. Подробные сведения о разрешенном использовании см. В разделе «Условия лицензии на использование API Карт».

...