如何在Google地图上过滤自定义结果?

时间:2012-10-03 18:43:16

标签: google-maps

我这样做是为了深入了解这些事物在现实生活中是如何运作的。

我在UI上有一些选项,根据这些选项过滤结果,它们需要在谷歌地图上显示。像padmapper.com那样的东西。

深入到旧金山,可以更改UI上的预算。在修改预算时,会在Google地图上修改搜索结果。

如果我有一个简单的滑块(例如预算),我可以实现这一点,并且在移动滑块时更新基础结果?

1 个答案:

答案 0 :(得分:2)

没有代码,很难在代码中给你一个例子,所以我会用英语试试:

基本上,您使用的任何滑块都有某种更改事件,在更改滑块值后会触发该事件。在此事件中,捕获值,在地图上循环标记,如果标记的某些属性属于滑块的值,则显示它,否则将其隐藏。

这假设您在创建Marker时做了两件事:1)给它一些自定义属性来存储要过滤的值,以及2)您在数组中存储了对每个Marker的引用。 / p>

很乐意为您提供更多帮助,但您需要发布一些代码。

已更新以发表评论:

要处理“太多数据问题”,您可以调用服务器,将只有位于地图视图中的点(称为边界框)加载为客户端上的标记。在过滤器的change事件中,您循环遍历客户端上的这些标记,并根据过滤器显示或隐藏它们,不需要调用服务器,除非用户再次导航地图,然后在{{ 1}}您可以再次调用服务器并在边界框中再次检索点,但这也符合您的过滤条件。 因此,它只是从服务器检索您需要的数据,并在客户端上过滤它们的组合。 您还可以限制从该服务器返回的点数。服务器,因此缩小时不会失去性能。

有关处理大量数据的详情,请参阅this article from Googlethis specific implementation