[英]Getting geolocation from IP address
我需要跟踪用户详细信息,因为该客户端的位置和IP地址是必需的。
我从中获得了IP地址
$this->input->ip_address();
在codiigniter。
现在的问题是如何使用各自的IP地址在谷歌地图中定位
只需使用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");
});
并且地图将显示在:
<div style="border:1px solid red; height:745px;" id="map"></div>
需要使用Google Maps API gmaps.js才能运行此功能。
作为一种可行的(虽然通常不太准确)替代方案, HTML5规范包括地理定位 。 随着HTML 5变得越来越普遍,我认为我们可以期待它在未来成为标准。 它也不需要使用外部Web服务或库。 您需要进行地理定位的所有内容都内置于客户端浏览器中。
我相信使用的主要方法是指定的IP地址。
Google Maps API将为您执行使用geoip查找位置的工作。 如果用户在移动设备上或者具有更准确的自定位方式(如GPS),则会使用该方式。
这是一个很好的起点:
https://google-developers.appspot.com/maps/documentation/javascript/examples/map-geolocation
如果您只需要从IP获取位置,则可以使用第三方工具来获取此信息。 如果您在较大的项目中使用此功能,则应事先确保您已获得许可。
freegeoip.net提供了一个公共HTTP API来搜索IP地址的地理位置。 它使用与城市相关联的IP地址数据库以及时区,纬度和经度等其他相关信息。
您每小时最多可以获得15,000个查询。 如果您需要更多,可以将freegeoip作为Web服务器运行在您自己的基础架构上。 请参阅: github上的freegeoip
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.