如何将Google个地图多边形带入某个坐标?

How to bring Google Maps polygons within a certain coordinates?

我正在使用 Google 地图 Javascript 库。 我有一个存储多边形的数据库,我想只带来适合特定给定坐标的那些。

假设我站在 Lat 99.42333,Long -99.169333...我怎样才能把我周围 1 公里的多边形?这是一个巨大的 table 多边形,因此不可能对每个多边形进行测试。

我正在考虑再添加 2 列 "quadrant_lat" 和 "quadrant_lng",然后将所有与其匹配的行包装起来,但我想这不是正确的方法。

有什么想法吗?谢谢

一个有效的解决方案是为数据库中的多边形创建地理索引。几乎所有的现代数据库都带有预先捆绑的地理索引和查询功能,或者提供 plugin/library 来执行此操作。

地理索引可用于为给定的经纬度对搜索 X 米半径内的多边形。这是所有地理搜索中最简单的,但是,您可以使用 2D/3D 地理索引进行更高级的处理。在地图 view/client 上,使用 google 地图 API 渲染地理查询返回的多边形。

如果您的数据库没有地理功能,那么您需要自己编写代码来完成繁重的工作。解决方案将取决于您的数据集的大小。

您使用的是什么数据库,有多少个多边形?