2013-11-01 132 views
2

这是我第一次发布关于堆栈溢出的问题,真的希望你们可以帮忙。google maps api,提供的API密钥无效

我想第一次使用谷歌地图地理编码API,无法让它工作。

我使用的URL格式是:

https://maps.googleapis.com/maps/api/geocode/json?address=LS2+9AQ &传感器=假&键= [MY_API_KEY]

在这种情况下,我从chrome浏览器查找英国邮政编码:LS2 9AQ。

当我不使用我的api密钥时,url可以正常工作,但没有密钥的允许呼叫数量的限制对于我的需求来说太低。

我还没有在生产站点使用它,现在它正在我的本地开发中运行。

我得到的实际反应是:

[error_message] => The provided API key is invalid. 
[results] => Array 
    (
    ) 

    [status] => REQUEST_DENIED 

当我删除的API密钥它的工作原理,并返回以下:

{ 
    "results" : [ 
     { 
     "address_components" : [ 
      { 
       "long_name" : "LS2 9AQ", 
       "short_name" : "LS2 9AQ", 
       "types" : [ "postal_code" ] 
      }, 
      { 
       "long_name" : "Woodhouse", 
       "short_name" : "Woodhouse", 
       "types" : [ "sublocality", "political" ] 
      }, 
      { 
       "long_name" : "Leeds", 
       "short_name" : "Leeds", 
       "types" : [ "locality", "political" ] 
      }, 
      { 
       "long_name" : "West Yorkshire", 
       "short_name" : "West York", 
       "types" : [ "administrative_area_level_2", "political" ] 
      }, 
      { 
       "long_name" : "United Kingdom", 
       "short_name" : "GB", 
       "types" : [ "country", "political" ] 
      }, 
      { 
       "long_name" : "Leeds", 
       "short_name" : "Leeds", 
       "types" : [ "postal_town" ] 
      } 
     ], 
     "formatted_address" : "Woodhouse, Leeds, West Yorkshire LS2 9AQ, UK", 
     "geometry" : { 
      "bounds" : { 
       "northeast" : { 
        "lat" : 53.8090296, 
        "lng" : -1.5509549 
       }, 
       "southwest" : { 
        "lat" : 53.8083045, 
        "lng" : -1.5519655 
       } 
      }, 
      "location" : { 
       "lat" : 53.808447, 
       "lng" : -1.5517752 
      }, 
      "location_type" : "APPROXIMATE", 
      "viewport" : { 
       "northeast" : { 
        "lat" : 53.81001603029149, 
        "lng" : -1.550111219708498 
       }, 
       "southwest" : { 
        "lat" : 53.80731806970849, 
        "lng" : -1.552809180291502 
       } 
      } 
     }, 
     "types" : [ "postal_code" ] 
     } 
    ], 
    "status" : "OK" 
} 

我试图与一个当前在更换网址在我的作品网站上使用,我得到了相同的回复,我尝试了两个不同的密钥,我生成了自己,一个是上周创建的,另一个是在一个小时前创建的。我在下面的方式建立的键:

  • 支付启用和信用卡连接到项目(有人告诉我,这是需要通过验证身份,以增加对API的限制)
  • 上一个关键引用者设置为“dev.test.com/*”(这是我在本地开发中使用的url)。在另一个键上没有指定引用者。
  • 关键是浏览器应用程式键

我绝对正确输入密钥,我和另一个开发人员已经检查了这个多次,没有任何人有什么可能是错的任何想法?

在此先感谢任何有帮助的人。

UPDATE 我发现导致进程在10次迭代后停止工作的问题。谷歌地理编码api的限制是每秒10次调用,我正在考虑这一点,现在我每增加10次迭代就会增加1秒的延迟,现在理论上可以达到每日限制。

但是,我仍然需要比默认的免费限制更多的电话,如我在下面的评论中所述,我相信我可以使用api密钥来增加基于我拥有经过验证的帐户的免费限制。我正在使用这个业务,但它没有足够的数量值得为此付费。任何人都可以帮我解决这个问题吗?

+0

[Google地图API键值查询限制在一个地理编码之前已被创建]的可能重复(http://stackoverflow.com/questions/19129910/google-maps-api -key-over-query-limit-before-a-single-geocode-has-made) – geocodezip

+0

我不认为这是重复的,因为他的问题可能是由rackspace引起的,我们不使用它们来托管和现在问题出在我的本地开发机器上。此外,我没有从该问题获得“OVER_QUERY_LIMIT错误”,也没有使用Codeigniter和Biostall的Google v3 Api –

+0

那么我该如何做到这一点呢?这不是重复的,但没有人似乎正在看它,因为在顶部的那个国旗... –

回答

3

好吧,它看起来像我试图做的事情是不可能的,没有支付一个商业帐户。没有办法将apikey应用于Google地理编码API。

我误解了一些有关google maps api的文档,其中提到了提高每日查询的允许限制。

这似乎不适用于地理编码api。

+1

然而,这在数千请求后不起作用。在我的情况下,Google阻止了我的IP。我仍然无法使用密钥并使用地址获取地理位置数据。该文档说明免费用户每天2500个请求。你有没有遇到这个问题? – sanket

-1

从您的示例中,您似乎试图对英国邮政编码进行地理定位。 您不需要使用谷歌API,您可以下载英国邮政编码列表,将其放入数据库并使用Google作为后备选项。 我建议从这里下载https://www.doogal.co.uk/UKPostcodes.php