【问题标题】:Google places autocomplete showing different results depending on key谷歌根据键放置自动完成显示不同的结果
【发布时间】:2018-06-18 16:46:46
【问题描述】:

当我在示例页面https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete 上键入查询Mountainview chem-dry 时,我会返回结果。当我在 jsfiddle 中打开它时,输入我自己的 api 密钥,然后再次运行它,我没有得到任何结果。我查看了请求,除了键和其他一些奇怪的查询参数(1d-33.936405187906715 等)之外,请求是相同的。代码中唯一的区别是 api 密钥。

【问题讨论】:

    标签: google-maps google-maps-api-3


    【解决方案1】:

    Mountainview Chem-Dry 被定义为服务领域业务。请注意,服务区商家不应通过地点自动完成功能提供。

    这些地点通常在响应中具有 0,0 坐标,并且在地图上显示没有精确坐标的地点是没有意义的。

    如果您在使用 Google 的 API 密钥执行示例页面时查看网络活动,您会看到 Mountainview Chem-Dry 的地点 ID 是 ChIJG-kOFY4NiYgRc2BFHIDJ7eg。

    现在执行地点详情请求:

    https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJG-kOFY4NiYgRc2BFHIDJ7eg&key=YOUR_API_KEY

    您将在响应中看到以下内容:

    ...
    "geometry":{
      "location":{
        "lat":0,
        "lng":0
      },
      "location_type":"APPROXIMATE"
    },
    ...
    

    表示这是一个 SAB。另请注意示例显示此地点的位置(它是靠近非洲的大西洋中的 0,0 坐标)

    这真是令人困惑。我猜 Google 的示例页面不应该使用能够显示所有位置的内部 API 密钥,因为您可以在开发者控制台中生成的普通 API 密钥会过滤掉所有 SAB。

    【讨论】:

    • 我认为这与它是 SAB 有关,但不太确定示例页面中使用的密钥是否具有额外的权限或权力或其他什么。不过,这是有道理的。
    猜你喜欢
    • 2017-02-01
    • 1970-01-01
    • 2014-05-21
    • 2013-03-09
    • 1970-01-01
    • 2018-08-25
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    相关资源
    最近更新 更多