有一个很好的PHP地理定位服务?

Rau*_*net 5 php web-services geolocation

我正在寻找一个良好的PHP地理定位服务,所以当我启动我的应用程序时,我可以有类似的东西:

<?php
$service = new GeoLocService();
echo $service->getLat();
echo $service->getLng();
?>
Run Code Online (Sandbox Code Playgroud)

以纬度和逻辑值的形式检索用户的位置.

Spu*_*ley 10

地理位置需要在浏览器中完成,因为服务器(即PHP)永远无法找到大部分相关数据.在浏览器中进行地理定位的主要API是Google,但作为开发人员,您不需要使用该API; 您将使用标准化的浏览器API(尽管到目前为止仅在少数浏览器中支持).

在服务器端查找用户所获得的最有用的信息就是他们的IP地址,这通常足以将他们定位到最近的城镇.有IP到国家和IP到位置的数据库和API,您可以下载它们来帮助解决这个问题.有些是免费的,但要获得城镇级别的位置,您将支付服务费用.无论您使用哪种方式,它们都需要保持最新状态,因为IP范围通常会重新分配.

浏览器级API通过浏览器扫描Wi-Fi接入点的区域来工作.它会将访问点列表发送给Google,然后Google会使用该列表来计算Lat/Long(通常具有令人惊讶的准确结果).

他们是怎么做到的?您可能还记得Google最近因为从人们的Wi-Fis中吸取数据而陷入困境吗?他们实际上要做的是为这个地理定位功能绘制世界上的Wi-Fi接入点.

当然,它确实要求客户端启用Wi-Fi.

请注意,您的浏览器不能直接访问此客户端访问点列表(即Javascript或DOM),因此您无法通过服务器将其发布到PHP以使用此方法获取位置; 它必须在客户端完成.

  • 您如何看待这一点:1.使用google API检索用户位置,2.使用Request to PHP发送该信息,3.PHP分析信息并返回与该位置相关的数据,4.JS接收该数据并显示包含用户位置和与之相关的数据的地图. (2认同)