如何确定我当前的位置(经度和纬度)?

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标题上继续

以上是关于如何确定我当前的位置(经度和纬度)?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取当前位置并将纬度和经度作为字符串?

Android:如何获取经度和纬度的当前位置?

如果应用程序在后台运行,如何获取当前位置的纬度和经度?

K-means 如何确定特定纬度和经度附近的大多数位置 [关闭]

如何在Android中将当前位置作为纬度和经度?

如何从纬度/经度获取附近的位置?