基于IP的地理定位

时间:2018-02-23 00:01:56

标签: angular google-maps geoip angular-google-maps

我正在开发Angular Google Maps,根据IP地址绘制地理位置,并使用ipinfo.io提供该IP地址。

我想知道为什么当我在ipinfo.io上获取IP地址并使用Angular Google Maps在谷歌地图中绘制时,lat和long似乎不准确或以某种方式接近当前位置。

您可以尝试在https://www.whatismyip.com/上获取当前的IP地址,然后尝试将其放入我的项目中,然后您将看到地理位置。

但我想要实现的是https://mycurrentlocation.net/index.php

的输出

有没有办法可以根据IP获得准确的地理位置?

请在Stackblitz上查看此实时代码。 https://stackblitz.com/edit/dmgrave-ng-geolocation-by-ip-v1

2 个答案:

答案 0 :(得分:1)

您正在使用来自IP地理定位API的坐标,与Wifi地理定位或GPS相比,其精度较低。

除非您可以访问最终用户的GPS数据,否则您必须使用第三方服务转换IP地址或WIFI MAC地址以获取经度和纬度。

以下是2个解决问题的建议。

1)请求最终用户通过HTML 5分享他们的GPS位置。在这种情况下,网络浏览器将在向您分享坐标之前请求最终用户授权(视情况而定)。您可以访问http://ipgeo5.com获取示例代码。

2)更改另一个地理位置数据库。如果您关心覆盖率和准确性,则可以评估其他数据库提供程序。您可以访问http://lite.ip2location.com并使用他们的IP2Location LITE数据库,看看它是否符合您的要求。如果您更喜欢网络API,则可以考虑使用https://www.ipinfodb.com

答案 1 :(得分:0)

基于我的研究,我认为这将解释得很好.. 基于how-can-i-detect-real-location-of-the-user-through-their-ip-address

  

地理位置准确性因国家/地区而异   从提供者到提供者。一些较小的国家非常准确   IP的内部映射到邮政地址,但这种类型的数据是   一般不向公众开放。

     

注意:不同的地理IP地址数据库也可能有所不同   您可能也想要相同IP地址的位置数据   仔细检查源数据的质量。

我需要使用HTML5 Geolocation,特别是如果远程设备是具有GPS或GPS的移动设备(如三角测量功能),这可能会为您提供比地理IP地址更准确的信息。

然后

为了能够获得准确/准确的位置,用户需要拥有带GPS的移动设备,并且用户需要允许其share位置。

  

重要提示:地理位置对于使用GPS的设备最准确。

本文(Ip geolocation is almost accurate (reliable), but not 100%)显示了地理定位不准确的原因。

The main reasons for this variation in result is because: 

IP is traced from Provider or organization registration
Use of proxies by the user hides the exact location
Not updated data in the registrar IP database (whois information) 

基于whatismyip

  

如果您查找了您的IP地址,并且未显示您居住的城市,   但是你的ISP所在地10英里以外的城市,那么你的   IP地址的地理定位数据与其获得的数据一样准确。