【问题标题】:How to bring Google Maps polygons within a certain coordinates?如何将谷歌地图多边形带入某个坐标?
【发布时间】:2017-08-20 05:07:55
【问题描述】:

我正在使用 Google Maps Javascript 库。 我有一个存储了多边形的数据库,并且我想只带上适合特定坐标的那些。

假设我站在纬度 99.42333,经度 -99.169333... 我怎样才能将我周围 1 公里的多边形带入?这是一个巨大的多边形表,因此无法测试每个多边形。

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

有什么想法吗?谢谢

【问题讨论】:

    标签: javascript google-maps polygon


    【解决方案1】:

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

    地理索引可用于搜索给定经纬对 X 米半径内的多边形。这是所有地理搜索中最简单的,但是,您可以使用 2D/3D 地理索引进行更高级的处理。在地图视图/客户端上,使用谷歌地图 API 来呈现地理查询返回的多边形。

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

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

    【讨论】:

    • 您好,感谢您的回复。我正在使用 MySQL,多边形可能是 100k+。
    • 好的。 MySQL服务器对地理功能的强大支持
    • 对于 100K+ 记录,您肯定希望使用索引来查询记录。这意味着即使数据集进一步增长,您也无需担心未来的数据库可扩展性。 MySQL 服务器对地理功能有很强的支持。这篇博客文章通过示例总结了这些功能,以显示基于索引的搜索以及对存储在表中的点的直接查询。 percona.com/blog/2013/10/21/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    相关资源
    最近更新 更多