谷歌地图使用 PHP 在 MySQL 中保存多边形和点
Posted
技术标签:
【中文标题】谷歌地图使用 PHP 在 MySQL 中保存多边形和点【英文标题】:Google Maps Save Polygon and points in MySQL using PHP 【发布时间】:2011-07-06 21:21:33 【问题描述】:现在我有一个允许用户在谷歌地图上绘制多边形的应用程序。我需要使用 php 和 mysql 保存这个多边形,但我不确定最佳实践。
我应该启用空间扩展并保存几何吗?我应该将每个垂直(纬度/经度对)保存在一个数组中吗?我不知道的另一种方法?
我想知道最佳做法是什么。使用 MySQL 空间扩展似乎令人生畏。它返回 WKT 中的内容,然后我必须解析该文本以使其执行其他操作。看起来很复杂。
【问题讨论】:
【参考方案1】:在规划存储层时最好考虑您的使用场景。
这将帮助您确定您希望持久层针对哪些查询进行优化。
如果您要处理大量查询,例如“查找此空间内的所有对象”。您可能想看看使用空间扩展。
但是,如果大多数时候您只是简单地绘制具有给定 id 的对象,则只需将多边形保存为数据库中的 json blob 即可。
创建表格多边形 ( polygon_id int 不为空, vertices_json varchar(4096) )
【讨论】:
那么如何得到多边形的顶点呢?【参考方案2】:您也可以使用:google.maps.geometry.encoding
来编码/压缩路径
http://code.google.com/intl/fr/apis/maps/documentation/utilities/polylinealgorithm.html
我曾经用它在数据库中保存了数千个方向,非常方便。
【讨论】:
不再可用【参考方案3】:花时间熟悉空间扩展,因为它们将帮助您完成未来的任务,而不仅仅是这个项目。
【讨论】:
以上是关于谷歌地图使用 PHP 在 MySQL 中保存多边形和点的主要内容,如果未能解决你的问题,请参考以下文章