从IP地址获取地理位置

我需要跟踪用户详细信息,因为该客户端的位置和IP地址是必需的。
我从中获得了IP地址

$this->input->ip_address(); 

在codiigniter。
现在的问题是如何使用各自的IP地址在谷歌地图中定位

只需使用ipinfo.io

http://ipinfo.io/

它使用一个位置api,我们可以发布IP地址,它将返回位置详细信息为json:

我们可以使用json响应google Maps API的langitude和经度详细信息在地图上显示loacation。

这是我使用的代码:

此脚本使用json响应创建一个具有纬度和经度的Google Map实例:

 jQuery(document).ready(function(){ jQuery.get("http://ipinfo.io/202.88.237.138", function (response) { var lats = response.loc.split(',')[0]; var lngs = response.loc.split(',')[1]; map = new GMaps({ el: '#map', lat: lats, //latitude lng: lngs //longitude }); }, "jsonp"); }); 

并且地图将显示在:

 

需要使用Google Maps API gmaps.js才能运行此function。

作为一种可行的(尽管通常不太准确)替代方案, HTML5规范包括Geolocation 。 随着HTML 5变得越来越普遍,我认为我们可以期待它在未来成为标准。 它也不需要使用外部Web服务或库。 您需要进行地理定位的所有内容都内置在客户端浏览器中。

我相信使用的主要方法是指定的IP地址。

Google Maps API将为您使用geoip查找位置。 如果用户在移动设备上或者具有更准确的自定位方式(如GPS),则会使用该方式。

这是一个很好的起点:
https://google-developers.appspot.com/maps/documentation/javascript/examples/map-geolocation

如果您绝对需要仅从IP获取位置,则可以使用第三方工具来获取此信息。 如果您在较大的项目中使用此function,则应事先确保您已获得许可。

freegeoip.net提供了一个公共HTTP API来搜索IP地址的地理位置。 它使用与城市相关联的IP地址数据库以及时区,纬度和经度等其他相关信息。

您每小时最多可以获得15,000个查询。 如果您需要更多,可以将freegeoip作为Web服务器运行在您自己的基础架构上。 请参阅: github上的freegeoip