【发布时间】:2010-11-27 10:45:08
【问题描述】:
我的应用每分钟都在以更快的速度增长,越来越多的用户不断加入地图。问题是当你只是在地图上环顾四周时,它现在移动得很慢。只需简单地点击一下覆盖就会弹出很慢,或者从克利夫兰移动到洛杉矶真的很慢。任何人有任何解决方案或想法?谢谢
【问题讨论】:
-
你有很多覆盖对象吗?
-
隐藏触摸操作之间的项目?
我的应用每分钟都在以更快的速度增长,越来越多的用户不断加入地图。问题是当你只是在地图上环顾四周时,它现在移动得很慢。只需简单地点击一下覆盖就会弹出很慢,或者从克利夫兰移动到洛杉矶真的很慢。任何人有任何解决方案或想法?谢谢
【问题讨论】:
如果覆盖在屏幕外,您不必绘制它。从地图投影(左上角和右下角)制作一个矩形对象,我认为该方法称为 contains(x,y);
这可能会提高性能:P
如果您在同一点有许多叠加层或非常靠近,只需绘制一个。
有一些示例代码:P
Rect rect = new Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); for(int i = 0; i < your_locations.length; i++){ Point out = new Point(); mapView.getProjection().toPixels(your_locations[i], out); if(rect.contains(out.x, out.y)){ //Draw it! } }
【讨论】: