获取codeigniter控制器内的地理位置位置

时间:2012-02-20 11:45:43

标签: php codeigniter google-maps-api-3 geolocation

我会使用google maps api geolocation获取我的位置的纬度和经度的值,并在我的控制器中使用这个值作为简单的php vars.do你知道它是否存在一些库,帮助器或某种方式来做我的事情需要?

2 个答案:

答案 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(查看地理编码说明)