2013-04-05 131 views
0

我一直在环顾Google和SO,以获取使用带有PHP的手机的用户的GPS位置。但是,我发现使用Javascript的唯一解决方案,我宁愿不必使用Javascript来做一些复杂的事情,只需将一些PHP代码添加到我现有的系统中即可。获取手机的GPS位置

我的问题很简单:我怎样才能得到某人浏览我的网站与PHP,而不是Javascript的GPS位置?

此外: 如果必须使用Javascript,我该如何访问PHP的值?此外,有没有办法从这个GPS位置获取城市/国家,或者有可能通过另一种方法获取城市/国家?

回答

3

无法通过PHP检索这些数据,请记住PHP在服务器中执行,而不是在客户端中执行,因此您需要像JavaScript这样的客户端执行语言。

+0

然而,是通过HTTP请求发送的任何GPS值?如果不是,我将如何将Javascript的值传递给PHP? – cpdt 2013-04-05 10:17:17

+0

您可以通过AJAX在JavaScript和PHP之间传递值 – m4t1t0 2013-04-05 10:18:48

+0

但是,如何从PHP脚本获取Javascript值?我可以看到我怎样才能得到一个PHP的Javascript值,但我怎样才能做到这一点呢? – cpdt 2013-04-05 10:19:52

3

您无法使用PHP获取GPS位置。

你可以使用GeoLocation来近似它(使用IP地址),但这是非常不可靠和最好的避免。

另一种选择是使用内置于HTML5的位置API。在访问您的网站,使用能够移动设备(或浏览器)的,如果他们愿意透露自己的位置功能的原因会问,但你不能强迫用户泄露它:

function show_map(position) { 
    var latitude = position.coords.latitude; 
    var longitude = position.coords.longitude; 
    // let's show a map or do something interesting! 
} 

一个例子指南/概述值得一读的是here(其中包括一个关于位置感知浏览如何工作的实例)。

位置信息在隐私方面是一个非常敏感的领域,因此手机制造商不允许自动披露您要查找的信息。

延伸阅读资源:

+0

如何将此位置传递给PHP脚本?另外,我怎样才能得到一个真实的位置(如城市或国家)呢? – cpdt 2013-04-05 11:32:49