获取手机的GPS位置[重复]
Posted
技术标签:
【中文标题】获取手机的GPS位置[重复]【英文标题】:Get GPS Location of Mobile Phone [duplicate] 【发布时间】:2013-04-05 10:08:15 【问题描述】:我一直在 Google 和 SO 上寻找一种方法来获取使用带有 php 的手机的用户的 GPS 位置。但是,我发现的唯一解决方案是使用 javascript,当我可以将一些 PHP 代码添加到我现有的系统时,我宁愿不必使用 Javascript 做一些复杂的事情。
我的问题很简单:如何使用 PHP 而不是 Javascript 获取浏览我网站的用户的 GPS 位置?
另外: 如果我必须使用 Javascript,如何从 PHP 访问值?另外,有没有办法从这个 GPS 位置获取城市/国家,或者可能有其他方法来获取城市/国家?
【问题讨论】:
【参考方案1】:您无法使用 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(其中包括位置感知浏览工作原理的实时示例)。
位置信息在隐私方面是一个非常敏感的领域,因此手机制造商不允许自动披露您正在寻找的信息。
更多阅读资源:
W3C geolocation API geoPosition.js,地理定位 API 包装脚本 Internet Explorer 9 开发人员指南:Geolocation 一个 SO 问题:Web Geolocation API on the iPhone【讨论】:
如何将此位置传递给 PHP 脚本?另外,如何从中获取实际位置(例如城市或国家/地区)?【参考方案2】:无法通过 PHP 检索这些数据,请记住 PHP 是在服务器中执行的,而不是在客户端中执行的,因此您需要像 javascript 这样的客户端执行语言。
【讨论】:
但是,是否有任何 GPS 值通过 HTTP 请求发送?如果没有,我将如何将值从 Javascript 传递给 PHP? 你可以通过 AJAX 在 javascript 和 PHP 之间传递值 我怎样才能从 PHP 脚本中获取 Javascript 值呢?我可以看到如何将 PHP 值传递给 Javascript,但我该如何反其道而行之? 您需要进行 ajax 调用,然后将其存储在数据库或任何您想要的地方。以上是关于获取手机的GPS位置[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在没有互联网的情况下使用 Javascript 获取 GPS 位置 [重复]