0

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

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

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

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

我对你们的问题是,

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

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

4

1 回答 1

1

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

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

1000OverlayItems可能已经够糟糕了——ItemizedOverlay并不是真的为那么多点而设计的。

当我在地图上滚动时,我不知道要将侦听器注册到哪个事件。

我不认为这里有一个简单的解决方案。我认为其他人对触摸事件进行了逆向工程并正在监听这些事件。有关更多信息,请参阅Android 地图获取滚动事件

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

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

于 2011-06-21T01:33:58.730 回答