Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javaScript/API—如何获取用户';什么地方准确?_Javascript_Html_Api_Localization_Openweathermap - Fatal编程技术网

javaScript/API—如何获取用户';什么地方准确?

javaScript/API—如何获取用户';什么地方准确?,javascript,html,api,localization,openweathermap,Javascript,Html,Api,Localization,Openweathermap,我已经使用(不需要用户的自动化)或同等工具来获取用户的位置信息,用于从中获取天气信息。问题是,考虑到ip地址依赖于用户互联网接入点(ISP…),因此使用ip地址进行定位可能不精确。例如,将喀麦隆视为国家,如果我的互联网连接由位于雅温得的服务器提供,而我位于Dschang;常见的ip本地化API(如ipinfoone)将把雅温得作为我的城市位置。也就是说,如果服务器位于不同的国家,我们将得到相同的结果 同样,HTML5地理定位API(需要用户的自动化)似乎是一种很好的方法,考虑到它可以更精确(有时

我已经使用(不需要用户的自动化)或同等工具来获取用户的位置信息,用于从中获取天气信息。问题是,考虑到ip地址依赖于用户互联网接入点(ISP…),因此使用ip地址进行定位可能不精确。例如,将喀麦隆视为国家,如果我的互联网连接由位于雅温得的服务器提供,而我位于Dschang;常见的ip本地化API(如ipinfoone)将把雅温得作为我的城市位置。也就是说,如果服务器位于不同的国家,我们将得到相同的结果

同样,HTML5地理定位API(需要用户的自动化)似乎是一种很好的方法,考虑到它可以更精确(有时精确到100米)。然而,精度取决于考虑API函数的参数设置和浏览器配置;这篇文章提供了一些关于这方面的说明。我的问题是,我也没有得到预期的结果;考虑到前面的示例,我得到的结果是Douala(ISP位置),而不是Dschang


因此,如何使用这些方法获得更好的精确结果,或者是否有其他方法获得用户的精确位置?

使用地址进行地理定位不是很准确。原因是IP地理定位服务基于数据收集,这意味着您的IP已注册到注册位置的数据库中。通常位置是ISP位置,而不是真实位置

有一些ip地理定位服务(其中许多是商业服务)可以提供非常精确的定位。其中一些服务可以达到很好的准确性,因为它们向Ads提供商支付GPS位置信息的费用。例如,当您在激活定位服务(GPS启用)的情况下使用手机,并且您访问任何带有广告的网站时,广告可以获取您的GPS位置并将其发送给IP地理定位服务,该服务将向广告提供商支付收集服务的费用。当IP地理定位服务检测到许多坐标非常接近的用户连接到具有相同IP的网络时,他们可以得出IP真实位置,但是这也不是完美的,因为这些用户可以连接到动态IP,或者没有GPS信号(室内)

我的建议是尝试将Javascript地理定位API与IP地理定位服务相结合

有关如何使用地理定位API的信息,请参见:

这里已经回答了这个问题,我也知道HTML5地理定位方法,但它似乎并不精确(我没有得到预期的结果),但是它似乎比ip地址定位方法更精确。这两种方法是唯一可用的方法吗?(也许这是我使用它们的方式,但我认为不是。)没有魔法。openWeatherMap站点有一个输入框来输入您的城市名称。然后,它将信息存储在一个名为“cityid”的cookie中。下次你访问他们的网站时,它会自动显示该城市ID的信息。@Roberto,interresting,我刚刚通过删除cookie进行了试验,你是对的。因此,没有比前面列举的更好的方法了?有效地,我使用Javascript地理定位API与IP地理定位服务/API相结合。我只是想找到一个更好的最佳方法。