我正在寻求帮助......
首先,我有一个数据库服务器端,有大量位置(长+拉特)
现在仅一个城市就有多达 1000 个。此刻,我的 Android 设备一次性获得所有信息。然后,我创建 1000 个逐项叠加层并将它们添加到 map View 中。 这反过来又使我的模拟器和手机运行缓慢。
我的一个想法是放大某个位置,然后下载叠加层的子集并将其放置在 map View 上。 我遇到了这个问题 1. 当我在 map 上滚动时,我不知道要注册监听器的事件。 2.当用户缩小时,我仍然会创建大量的逐项叠加。
我想问你们的是,
我该如何克服这些问题?或者你会如何去做这件事?
解决方案类似于谷歌地图的工作方式。当你缩小时,你会看到一个不太详细的 map ,但当你放大时,它会显示一张详细的 map ,当你四处移动时会重新加载
最佳答案
I then create 1000 itemized overlays and add them to the map view.
嗯...请告诉我这是一个拼写错误,您的意思是“1000 OverlayItems
”,而不是“1000 ItemizedOverlays
”。
1000 个 OverlayItems
可能已经够糟糕了 - ItemizedOverlay
并不是真正为那么多点而设计的。
When I scroll on the map I don't know what event to register a listener to.
我认为这里没有直接的解决方案。我认为其他人对触摸事件进行了逆向工程并正在监听这些事件。请参阅Android Maps get Scroll Event了解更多。
When the user zooms out I will still create the large number of itemised overlays.
使用优先级方案。您在 Google map 中看到的是,仅显示前 N 个项目,其中“顶部”基于某种优先级机制。
关于java - map View 上的多个逐项叠加需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6418839/