在mapview上使用多个逐项列表叠加层时需要帮助

时间:2011-06-20 23:48:45

标签: java android google-maps android-mapview itemizedoverlay

我正在寻求帮助......

首先,我有一个数据库服务器端,有很多位置(longs + lats)

现在一个城市就有1000个。目前,我的Android设备一下子所有的信息。然后,我创建了1000个逐项列表叠加层并将它们添加到地图视图中。 这反过来又使我的模拟器和手机运行缓慢。

我的一个想法是放大某个位置,然后下载并在地图视图上放置叠加的子集。 麻烦我有这个 1.当我在地图上滚动时,我不知道要注册听众的事件。 2.当用户缩小时,我仍然会创建大量的逐项叠加。

我向你们提出的问题是,

我怎样才能克服这些问题?或者你会怎么做呢?

解决方案类似于谷歌地图的工作方式。你缩小时不是那么详细的地图,但当你放大它时会显示一个在你四处移动时重新加载的详细地图

1 个答案:

答案 0 :(得分:1)

  

然后我创建了1000个逐项列化的叠加层并将它们添加到地图视图中。

嗯...请告诉我这是一个错字,你的意思是“1000 OverlayItems”,而不是“1000 ItemizedOverlays”。

1000 OverlayItems可能已经足够糟糕了 - ItemizedOverlay并非真正针对那么多点设计。

  

当我在地图上滚动时,我不知道要注册听众的事件。

我不认为这里有一个简单的解决方案。我认为其他人有点反向设计触摸事件并正在倾听这些事件。有关详情,请参阅Android Maps get Scroll Event

  

当用户缩小时,我仍会创建大量的逐项叠加。

使用优先排序方案。您在Google地图中看到的是,只会显示前N个项目,其中“top”基于某种优先级机制。