【问题标题】:obtain geolocation position inside codeigniter controller在codeigniter控制器内获取地理位置
【发布时间】:2012-03-10 18:18:13
【问题描述】:

我会使用 google maps api geolocation 获得我的位置的纬度和经度值,并在我的控制器中使用这个值作为简单的 php vars。你知道它是否存在一些库、帮助程序或一些方法来做我需要吗?

【问题讨论】:

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


【解决方案1】:

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

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

一种方法是通过 ajax。这是一个示例流程:

1) 用户浏览您的网页(此时您还不知道用户的更准确的 ip 位置)

2) 你会提示用户通过浏览器的GeoLocation API分享他的位置。

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

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

附:您还应该处理用户选择不通过 GeoLocation API 与您分享他更准确的 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);
   });
}

【讨论】:

    【解决方案2】:

    看这个Google Maps API V3 Library,说明是here(看地理编码说明)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-12
      • 1970-01-01
      • 1970-01-01
      • 2021-10-22
      • 2021-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多