【问题标题】:IP location bias in places-autocomplete lib地点自动完成库中的 IP 位置偏差
【发布时间】:2017-11-29 03:24:53
【问题描述】:

我使用 places-autocomplete js 库来获取地址建议。 见https://developers.google.com/maps/documentation/javascript/places-autocomplete。 我使用 Autocomplete 类。

文档说

注意:如果您不提供任何边界或地图视口,API 将尝试从用户的 IP 地址检测用户的位置,并将结果偏向该位置。如果您希望没有位置偏差,请将边界设置为包含整个世界:(-90,-180),(90,180)。

当我使用只有一个类型参数的 api,设置为“地址”时,我会收到来自世界各地的建议。

为什么我没有从 IP 中获得对位置的偏见?不支持与类型参数一起使用吗?

【问题讨论】:

  • 偏差意味着服务将更喜欢给定边界的结果,但您也可以从外部获得显着的结果。您是否有任何示例显示未显示 IP 区域的显着结果?

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


【解决方案1】:

您需要将 componentRestrictions 参数添加到 Google 地方信息的配置中。

例如:

req.address = USER_INPUT
req.componentRestrictions = {
     country: ISO_COUNTRY_CODE
};
geocoder.geocode(req, function(results, status) {});

您可以通过 IP 地址对其进行偏置,但您需要自己从 IP 获取国家/地区 ISO 代码。你可以使用IP Find这样的服务来做到这一点

例如。 https://ipfind.co/me

将返回 country_code 属性。 country_code 是您需要传递给上面的 google places 配置的 ISO 值。希望这会有所帮助。

【讨论】:

  • 这不是我的问题的答案,我想知道为什么默认 IP 地址偏差对我不起作用。这也是我在此期间所做的一种解决方法,但这种 ip 偏差会更好。
猜你喜欢
  • 2020-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-16
  • 1970-01-01
  • 1970-01-01
  • 2018-12-22
相关资源
最近更新 更多