无提示地理定位

问题描述 投票:0回答:1

我知道 HTML5 进行地理定位的方式,但需要注意的是它必须提示用户许可。

navigator.geolocation.getCurrentPosition

当我想在主页上进行地理定位以根据位置提供定制内容时,这变得特别烦人:没有人喜欢每次访问您的网站时都会收到提示。

这个想法是使用外部服务基于 IP 地址或类似的东西进行地理定位,以获得对用户位置的不太准确的估计,并仅在该位置确实关闭时才向用户提供提示。对于我可以用于此目的的服务有什么好的建议吗?

我知道 Google 已经这样做了:当前位置。它会显示您当前的位置,而不会给您任何提示。有谁知道该怎么做吗?

MaxMind 数据库很好,但为此需要维护一个巨大的 IP 数据库。首选 API 或 Google 服务。

我目前使用从 Google Loader 返回的位置对象来估计位置,但它不如上面的 Google 搜索示例准确。

google.loader.ClientLocation.latitude
google.loader.ClientLocation.longitude
javascript geolocation
1个回答
0
投票

Google 的

current location
之所以有效,是因为您在给定浏览器上的某个时间点授予了 Google 访问您位置的权利。如果您打开任何新浏览器并执行相同的查询,您会发现它只能产生更通用的位置。

我自己一直在尝试寻找这个问题的答案,而您使用 Google 的加载程序走在正确的轨道上。问题在于,由于 HTML5 产品的可靠性和准确性,它或多或少已被弃用。

我很好奇您是否找到了解决方法。有些人可能会建议 maxmind,尽管我发现它与 google.loader 一样准确(甚至不准确)。

浏览器提示输入此类信息的原因是有道理的,我只是很惊讶除了使用 IP 之外没有某种解决方法/黑客。

© www.soinside.com 2019 - 2024. All rights reserved.