地理位置:按邻近度过滤

Geolocation: filter by proximity

本文关键字:过滤 地理位置      更新时间:2023-09-26

我有一个来自世界各地的JSON格式的用户列表。列表中的每一项都有一个位置信息。

  1. 如何将这些位置转换为正确的经度和纬度?
  2. 如何过滤这些位置以仅获取当前位置 50 英里范围内的位置(假设我知道如何获取当前经度和纬度)。

是否有我可以使用的服务?

我真的需要将这些位置转换为经度和纬度吗?基本上,我想做的只是找到当前位置 50 英里范围内的位置,而忽略其他位置。

您可以使用

免费的 geonames.org 网络服务。有一种搜索方法可用,您可以在其中给出位置名称并获取任何位置的纬度和经度。请注意,可能有多个具有相同名称的位置可用。请参阅此处的示例:http://api.geonames.org/searchJSON?q=london&maxRows=10&username=demo

对于你的第二个问题,有多种方法。本问题概述了基本算法,但最简单的方法可能是使用 Google Maps API(请参阅此问题的第二个答案)。

我过去做过这件事,因为这不是仅仅用JavaScript和JSON就可以做到的。最好的方法是创建使用空间Point命令的 MySQL 数据库。如果你想要JavaScript和JSON,那么你必须创建一个Web服务(例如使用PHP)来管理JavaScript和MySQL数据库之间的查询。起初这似乎令人生畏,但一旦你掌握了窍门,它就很酷了。 我建议阅读此网站以了解基础知识。