我需要跟踪用户详细信息,需要客户端的位置和IP地址。
我从从IP地址获取地理位置
$this->input->ip_address();
在codiigniter了IP地址。
现在的问题是我怎样才能使他们的位置在谷歌地图上使用其各自的IP地址
我需要跟踪用户详细信息,需要客户端的位置和IP地址。
我从从IP地址获取地理位置
$this->input->ip_address();
在codiigniter了IP地址。
现在的问题是我怎样才能使他们的位置在谷歌地图上使用其各自的IP地址
只使用ipinfo.io在
它使用一个定位API,我们可以张贴的IP地址,它会返回位置详情JSON:
我们可以能够显示地图上的loacation,从json响应到Google Maps API的经度和纬度细节。
这里是我使用的代码:
这个脚本创建从JSON响应lattitude &经度谷歌地图实例:
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需要运行此..
谷歌地图API将为您找到使用geoip的位置的工作。如果用户使用的是移动设备,或者有更准确的定位方式(如GPS),它就会使用它。
这里是一个很好的起点:
https://google-developers.appspot.com/maps/documentation/javascript/examples/map-geolocation
如果您确实需要从IP获取位置只,还有third-party tools,你可以凑来获取这些信息。如果您在较大的项目中使用此功能,则应事先确保您有权限。
作为一个可行的(但通常不太准确)替代方案,HTML5 spec includes Geolocation。随着HTML 5变得越来越流行,我认为我们可以期待这将成为未来的标准。它也不需要使用外部Web服务或库。您需要进行地理定位的所有内容都内置在客户端浏览器中。
我相信主要使用的方法是指定的IP地址。
freegeoip.net提供公共HTTP API来搜索IP地址的地理位置。它使用与城市相关的IP地址数据库以及时区,经度和纬度等其他相关信息。
每小时最多允许15,000个查询。 如果您需要的不止于此,您可以在自己的基础架构上将freegeoip作为Web服务器运行。见:freegeoip on github
为什么你不谷歌它? –
@Vicky Gonsalves:我做了,但它不能正常工作... –
发布你的代码不工作,你可以得到修复它的帮助。这个问题太模糊,并且有太多未知因素需要回答。 –