如何确定我当前的位置(经度和纬度)?
Posted
技术标签:
【中文标题】如何确定我当前的位置(经度和纬度)?【英文标题】:How to determine my current location (longitude & latitude)? 【发布时间】:2011-04-21 00:19:27 【问题描述】:我目前有一个 php 网站,我希望能够找到用户当前的位置,然后以类似于以下格式的 url 传递它:
page.php?lon=2312313&lat=sdfsdsf
关于如何做到这一点的任何想法?
【问题讨论】:
这不像@Bil_fr 已经说过的那样准确。例如,我使用罗马尼亚 IP 地址(我住在塞尔维亚),ISP 位于东部约 300 英里处。您无法通过这种方式找到我的位置(另外,这是共享 IP)。您可以使用 GeoIP 数据库(准确的版本会花费一些钱),但您也无法处理我使用的这个 IP。 【参考方案1】:没有什么是自动的(感谢上帝)。您将依赖客户端能够与某些本地 GPS 设备进行交互并提供位置数据。大量特定技术。
【讨论】:
【参考方案2】:如果浏览器支持地理定位,你可以这样做:
if (navigator.geolocation)
navigator.geolocation.getCurrentPosition(success, error);
这是一个html5的东西,它会在第一时间提示用户授予站点访问你位置的权限。
当然这是一个 javascript 的东西(不是 php)
【讨论】:
【参考方案3】:如果您知道通过提供纬度和经度来使用 Google Maps API 识别位置名称,则定位用户的页面可能具有
<script src="http://maps.google.com/maps/api/js?sensor=true"></script>
在它的头部
参数sensor=true
表明目标设备具有 GPS,并且将使用 GPS 提供位置信息,因为并非所有移动网络浏览器都支持地理定位。但我不确定这是否会使用移动服务提供商的 BTS(基站收发站)来获取大致位置,以防 GPS 设备在手机上不可用。请注意,整个操作将使用 JavaScript 而不是 PHP。
【讨论】:
【参考方案4】:你可以使用GeoIP PHP library,但不是很准确。
【讨论】:
这将用于移动设备,所以我真的需要可以从 3G 手机位置拉出的东西。 你最好在android或iPhone标题上继续以上是关于如何确定我当前的位置(经度和纬度)?的主要内容,如果未能解决你的问题,请参考以下文章