我目前有一个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库,但它不是很准确