我已经使用ipinfo (不需要用户的授权)或等效的来获取用户的位置信息,用于从openWeatherMap获取天气信息。问题是使用 ip-address 进行本地化可能不精确,因为它取决于用户互联网接入点(ISP,...)。例如,将喀麦隆视为国家,如果我的互联网连接由位于雅温得的服务器提供,而我位于Dschang;常见的 ip 本地化 API,如ipinfo之一,将给我雅温得作为我的城市位置。也就是说,如果服务器位于不同的国家,我们将得到相同的结果。
同样,HTML5-geolocalization API (需要用户的自动化)似乎是一个很好的方法,考虑到它可以更精确(有时精度为 100m)。但是,该精度取决于考虑 API 函数的参数设置和浏览器配置;html5doctor.com上的这篇文章对此进行了一些说明。我的问题是,我也没有得到预期的结果;考虑前面的例子,我得到Douala (ISP location) 而不是Dschang作为结果。
那么如何使用这些方法获得更好的精确结果,或者是否有其他方法可以获取用户的精确位置?