如何使用Google Maps API进行自定义位置查询?

时间:2016-03-30 18:37:18

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

我有一个来自Google地图的PlaceIds列表,我从查询位置名称的外部列表中获得。

我现在有一个“搜索”功能,您可以在其中输入您的邮政编码,它会找到最近的10个位置并在地图上显示它们。据我所知,Google只允许您按搜索字词进行搜索。

如何将搜索结果仅限制在我所提供的PlaceId列表中,并按距离排序?

注意:我没有搜索的“关键字”,其中包含我的所有PlaceIds。这些是从外部源检索的,并且没有“常用搜索关键字”将返回我的PlaceIds的超集。

1 个答案:

答案 0 :(得分:1)

目前无法以这种方式限制PlacesSearch的结果。

可能的方法:

您还需要一个邮政编码数据库(包括位置)。

当您的数据库支持空间查询时,您可以使用ST_DISTANCE()对结果进行排序并使用最近的10个结果。

当您的数据库不支持空间查询时,您可以使用haversine formula来计算距离

当然结果可能只是近似值,因为邮政编码通常与某个区域有关,而与某个位置无关