Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Google Maps API将Long/Lat与数据库中的地址进行比较_Php_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Php 使用Google Maps API将Long/Lat与数据库中的地址进行比较

Php 使用Google Maps API将Long/Lat与数据库中的地址进行比较,php,javascript,google-maps,google-maps-api-3,Php,Javascript,Google Maps,Google Maps Api 3,我在GoogleMapsAPI上看到的大多数教程都简单地向您展示了如何在地图上获取您的位置。我明白了。但我想更进一步 我想: 1获取用户的Long/Lat,2将其与数据库中的地址列表进行比较;然后返回最近的地址。数据库方面不是问题所在。只有谷歌地图API。我使用php来处理数据库 我该怎么做?我是否正确地假设我需要GoogleAPI,因为由于涉及地址,所以内置在地理位置中的JavaScript是不够的 编辑: 我修改了我的问题,使之更加具体。 如何将街道地址转换为Long/Lat坐标?您不能将L

我在GoogleMapsAPI上看到的大多数教程都简单地向您展示了如何在地图上获取您的位置。我明白了。但我想更进一步

我想:

1获取用户的Long/Lat,2将其与数据库中的地址列表进行比较;然后返回最近的地址。数据库方面不是问题所在。只有谷歌地图API。我使用php来处理数据库

我该怎么做?我是否正确地假设我需要GoogleAPI,因为由于涉及地址,所以内置在地理位置中的JavaScript是不够的

编辑:

我修改了我的问题,使之更加具体。
如何将街道地址转换为Long/Lat坐标?

您不能将Long/Lat坐标转换为地址,然后计算该地址与其他地址的距离,因为您只需将其转换为Long/Lat坐标以比较距离


对于数据库中的每个地址,还应存储long/lat,输入地址后即可执行此操作。这样,对于每个地址,您只需调用一次Google的API即可获得long/lat。然后,将输入的long/lat与数据库中的long/lat进行比较,以获得距离,并返回与壁橱long/lat相对应的地址,瞧,你有最近的地址。

如果数据库中的地址与lon/lat坐标耦合,那么你甚至不需要谷歌API来计算最近的地址。@HamZa我确实想到了这个想法,但对于这个项目,我被要求与实际地址进行比较,不仅仅是long/lat。是否使用谷歌地图API来做这件事?就像我说的,如果你有lat/lon,那么你就不需要它了。请注意,谷歌API有一些免费使用的每日请求限制。这会让你开始得到最近的坐标。请不要使用mysql,请在准备好的语句中使用mysqli或PDO。谷歌教我们弃用的函数真是太可惜了。。。无论如何,这只是一个想法,你显然应该根据自己的需要改进和编辑它。简单地将地址转换为long/lat怎么样。。没有别的了?是的,我就是这么说的:-。对于数据库中的每个地址,您应该将其转换为long/lat并存储该信息。通过这种方式,您可以通过比较long/lat来比较距离,而不是试图相互比较地址。