我正在寻求帮助......
首先,我有一个数据库服务器端,有很多位置(longs + lats)
现在一个城市就有1000个。目前,我的Android设备一下子所有的信息。然后,我创建了1000个逐项列表叠加层并将它们添加到地图视图中。 这反过来又使我的模拟器和手机运行缓慢。
我的一个想法是放大某个位置,然后下载并在地图视图上放置叠加的子集。 麻烦我有这个 1.当我在地图上滚动时,我不知道要注册听众的事件。 2.当用户缩小时,我仍然会创建大量的逐项叠加。
我向你们提出的问题是,
我怎样才能克服这些问题?或者你会怎么做呢?
解决方案类似于谷歌地图的工作方式。你缩小时不是那么详细的地图,但当你放大它时会显示一个在你四处移动时重新加载的详细地图
答案 0 :(得分:1)
然后我创建了1000个逐项列化的叠加层并将它们添加到地图视图中。
嗯...请告诉我这是一个错字,你的意思是“1000 OverlayItems
”,而不是“1000 ItemizedOverlays
”。
1000 OverlayItems
可能已经足够糟糕了 - ItemizedOverlay
并非真正针对那么多点设计。
当我在地图上滚动时,我不知道要注册听众的事件。
我不认为这里有一个简单的解决方案。我认为其他人有点反向设计触摸事件并正在倾听这些事件。有关详情,请参阅Android Maps get Scroll Event。
当用户缩小时,我仍会创建大量的逐项叠加。
使用优先排序方案。您在Google地图中看到的是,只会显示前N个项目,其中“top”基于某种优先级机制。