当前位置: 首页 > 面试题库 >

有没有很好的PHP地理位置服务?

甘永春
2023-03-14
问题内容

我正在寻找良好的PHP地理位置服务,因此当我启动我的应用程序时,我可能会遇到类似以下情况:

<?php
$service = new GeoLocService();
echo $service->getLat();
echo $service->getLng();
?>

以纬度和经度值检索用户的位置。


问题答案:

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

对于在服务器端定位用户而言,最有用的信息就是他们的IP地址,通常足以将他们定位到最近的城镇。您可以下载IP到国家和IP到位置数据库和API来帮助解决此问题。有些是免费的,但是要获得城镇级别的位置,您需要付费。无论您选择哪种方式,都必须保持最新,因为IP范围通常会重新分配。

浏览器级别的API通过使浏览器扫描区域中的Wi-Fi接入点来工作。它将访问点列表发送给Google,然后由后者计算纬度/经度(通常得出令人震惊的准确结果)。

他们是如何做到的?您可能还记得Google最近因从人们的Wi-Fi网络中获取数据而陷入困境?他们实际上试图做的是为此地理位置功能映射世界上的Wi-
Fi接入点。

当然,它确实需要客户端启用Wi-Fi。

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



 类似资料:
  • 晚上好我正在使用Webview在Android上制作跟踪应用程序。我遇到了问题,因为该系统在该位置附近运行良好。我试过Grishma Ukani先生的一些方法(非常感谢)。 一切顺利,没有错误。但仍然无法获得设备位置/权限,然后这些信息就会出现在android studio上 E/cr_LocationProvider:从系统注册位置更新时捕获安全异常应用程序没有足够的地理定位权限E/cr_Loc

  • 我用gogs创建了我的私人git存储库,并遇到了docker Containter。当我启动配置服务器时,在我的个人文件夹中创建了一个临时文件夹,其名称如下:config-repo-6084055946640576163,它包含了所有的配置文件,所以我确信该存储库是由服务器克隆的,但是,当我通过internet explorer访问它时,我看不到配置,它们是空的。 我切下URLhttp://loc

  • 问题内容: 我正在写一个基本上使用php和mysql查找经纬度25英里半径范围内的地方的地方,并长期使用它。 我想知道这样的事情如何工作? 我会通过一条经纬度较长的经纬度,并让其只提取经纬度25英里以内且距我的位置数据库较长的纬度。 做这个的最好方式是什么? 编辑:我发现此代码用于计算2点之间的距离。 这是在MYSQL中进行此计算的一种方法,因此我只能在Miles = <25时返回吗? 问题答案:

  • 问题内容: 我们正在寻找一种快速准确的方法来根据访问者的IP获取访问者的位置。 我们已经尝试过ipinfodb.com,但在调用API时,其API使我们的网站严重滞后。 您还建议其他哪些服务? 问题答案: 获取Geo-IP信息 请求地理IP服务器(netip.de)进行检查,并返回IP所在的位置(主机,州,国家/地区,城镇)。

  • 使用微信内置地图查看位置接口 wx.openLocation({ latitude: 0, // 纬度,浮点数,范围为90 ~ -90 longitude: 0, // 经度,浮点数,范围为180 ~ -180。 name: '', // 位置名 address: '', // 地址详情说明 scale: 1, // 地图缩放级别,整形值,范围从1~28。默认为最大 inf

  • 我刚刚在RHEL 8上安装了Kibana7.3。Kibana服务处于活动状态(正在运行)。 当我卷曲到http://localhost:5601时,我收到了消息。我的Elasticsearch实例在另一台服务器上,它正在成功响应我的请求。我已经用它更新了kibana.yml elasticsearch.hosts:["超文本传输协议://EXTERNAL-IP-ADDRESS-OF-ES: 920