获取代码点火器控制器内部的地理位置


obtain geolocation position inside codeigniter controller

我会使用谷歌地图api地理位置获取我所在位置的纬度和经度值,并在我的控制器中使用这些值作为简单的php变量。你知道它是否存在某种库、帮助程序或某种方式来做我需要的事吗?

您应该知道的一件事是GeoLocation API是浏览器/客户端的东西。不可能从服务器端确定比ip更准确的位置。

要回答您关于如何"在codeigniter控制器内获得GeoLocation位置"的问题,您应该做的是尝试将信息从客户端传递到服务器端。

其中一种方法是通过ajax。下面是一个示例流程:

1) 用户浏览到你的网页(在这一点上,你还不知道用户的更多位置)

2) 您将提示用户通过浏览器的GeoLocation API共享他的位置。

3) 如果用户允许您通过单击"共享位置"来了解他的位置,那么您可以使用用户比ip更准确的位置对服务器进行ajax回调。

4) 一旦你得到了,你就可以告诉客户端在ajax响应中该做什么。

另外,您还应该处理用户选择不通过GeoLocationneneneba API与您共享其更多用户位置的流程。

更新

和其他人说的一样,只需阅读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);
   });
}

看看这个Google Maps API V3库,说明在这里(看看地理编码说明)