我会使用google maps api geolocation获取我的位置的纬度和经度的值,并在我的控制器中使用这个值作为简单的php vars.do你知道它是否存在一些库,帮助器或某种方式来做我的事情需要?
答案 0 :(得分:2)
你应该知道的一件事是GeoLocation API是浏览器/客户端的东西。无法从服务器端确定更准确的ip位置。
回答关于如何“获取codeigniter控制器内的GeoLocation位置”的问题,你应该做的是尝试将信息从客户端传递到服务器端。
这样做的一种方法是通过ajax。这是一个示例流程:
1)用户浏览您的网页(此时您还不知道用户的更多 - 确定 - 然后 - ip位置)
2)您将通过浏览器GeoLocation API提示用户分享他的位置。
3)如果用户通过单击“共享位置”让您知道他的位置,那么您可以使用用户更精确的当时ip位置向服务器执行ajax回调。
4)一旦你得到了,你就可以告诉客户你在ajax响应中做了什么。
P.S。您还应该处理用户选择不通过GeoLocation API与您分享他的更多 - accuate-ip信息位置的流程。
<强>更新强>
和其他人一样,只要阅读v3 gmap API。 它就像是
if (navigator.geolocation) var gl = navigator.geolocation;
if (gl) {
gl.getCurrentPosition(function(position) {
alert(position.coords.latitude);
alert(position.coords.longitude);
}, function(positionError) {
alert(positionError.message);
});
}
答案 1 :(得分:1)
请查看此Google Maps API V3 Library,说明为here(查看地理编码说明)