显示成千上万的地理坐标

时间:2011-09-11 23:14:29

标签: google-maps google-maps-api-3

假设我有一个存储lat / long值的数据库(例如商家的地理坐标)。现在,我希望用户能够搜索如下内容:

  

搜索洛杉矶的所有中国餐馆

有没有办法使用Google地图执行此操作?我会以某种方式通过所有的地理坐标吗?它将成千上万。

2 个答案:

答案 0 :(得分:0)

谷歌地图API确实有视图port biasingregion code biasing来帮助搜索他们的数据库而不是你的数据库。

纬度和经度大致相当于地面上的距离(纬度和经度均为1度,约为69英里,有关详细信息,请参阅latitudelongitude的度数长度部分)。因此,如果您将纬度和经度存储在单独的列中,并且如果您可以将洛杉矶解析为纬度/经度(可能是使用Google的reverse geocoding),那么您的代码会执行简单的查询以返回只有距离洛杉矶纬度/经度大约距离的商家。

这将返回以洛杉矶 lat / long为中心的方形(或矩形,但不是圆形)内的结果。方形角落内的任何结果都将大于远离洛杉矶纬度/经度的选定近似距离。

答案 1 :(得分:0)

如果您要求向我显示半径内的所有结果,或者在边界框内显示所有结果,那么只有查询的中心点时才会遇到SQL查询问题。

如果你想找到一个城市中的所有地方,那么也许你可以简单地在你的数据库中的一个字段上使用你的SQL查询过滤器。

select title from restaurants where city = "Los Angeles";

或者如果您有准确的邮政编码保险:

select title from restaurants where postal_code like "<ZIP-STARt>%";

如果您没有100%的邮政编码覆盖率,请考虑运行一次性地理编码练习以恢复邮政编码。

(我承认无知邮政编码与美国城市的关系)