我需要跟踪用户详细信息,因为该客户端的位置和IP地址是必需的 我从
获得了IP地址$this->input->ip_address();
在codiigniter。
现在问题是如何使用各自的IP地址在谷歌地图中定位
答案 0 :(得分:7)
只需在
使用 ipinfo.io它使用了一个我们可以发布ip地址的位置api,它将以json的形式返回位置详细信息:
我们可以使用json响应google Maps API的langitude和经度详细信息在地图上显示loacation。
以下是我使用的代码:
此脚本使用lattitude&创建一个Google Map实例。来自json回应的经度:
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。
答案 1 :(得分:3)
作为一种可行的(虽然通常不太准确)替代方案,HTML5 spec includes Geolocation。随着HTML 5变得越来越普遍,我认为我们可以期待它在未来成为标准。它也不需要使用外部Web服务或库。地理定位所需的一切都内置于客户端浏览器中。
我认为使用的主要方法是指定的IP地址。
答案 2 :(得分:2)
Google Maps API将为您执行使用geoip查找位置的工作。如果用户在移动设备上或者具有更准确的自定位方式(如GPS),则会使用该方式。
这是一个很好的起点:
https://google-developers.appspot.com/maps/documentation/javascript/examples/map-geolocation
如果您只需要从IP获取位置,则可以使用third-party tools来获取此信息。如果你在一个更大的项目中使用它,你应该事先确定你有权限。
答案 3 :(得分:0)
freegeoip.net提供了一个公共HTTP API来搜索IP地址的地理位置。它使用与城市相关联的IP地址数据库以及时区,纬度和经度等其他相关信息。
每小时最多允许15,000个查询。 如果您需要更多,可以将freegeoip作为Web服务器运行在您自己的基础架构上。请参阅:freegeoip on github