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


How to determine my current location (longitude & latitude)?

我目前有一个php网站,我希望能够找到用户的当前位置,然后通过url传递,格式类似于:

page.php?lon=2312313&lat=sdfsdsf

我该怎么做呢?

没有自动操作(感谢上帝)。您将依赖于客户端能够与一些本地GPS设备进行交互并提供位置数据。

如果浏览器支持地理定位,您可以这样做:

if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(success, error);
}

这是html5的东西,它会提示用户第一次给网站权限访问你的位置。

当然这是javascript的东西(不是php的)

如果您知道通过提供经纬度来使用Google Maps API识别位置名称,那么定位用户的页面可能有

<script src="http://maps.google.com/maps/api/js?sensor=true"></script>

在标题部分

参数sensor=true表示目标设备具有GPS,并且位置信息将使用GPS提供,因为并非所有移动web浏览器都支持地理定位。但我不确定这是否会使用移动服务提供商的BTS(基站收发器站)来获得手机上不可用的GPS设备的大致位置。注意,整个操作将使用JavaScript而不是PHP。

您可以使用GeoIP PHP库,但它不是很准确