我有我的Android应用程序,我想在我的MapActivity 5 000 GeoPoints上显示。 为此,我使用下一个代码:
for(BusinessUnitMapModel model : DeviceClientApplication.getInstance().getBusinessUnitList()){
GeoPoint point = new GeoPoint((int)(Double.parseDouble(model.getLatitude())*1E6),(int)(Double.parseDouble(model.getLongitude())*1E6));
OverlayItem overlayItem = new OverlayItem(point, "", "");
itemizedOverlay.addOverlay(overlayItem);
}
但是当我尝试进入MapActivity时,我的应用程序崩溃了。
可能有人知道如何添加数千个GeoPoints?
答案 0 :(得分:1)
由于您要添加到地图的大量叠加层,您很可能获得的是内存不足异常。如果是这种情况,您需要找到解决方法。互联网上有很多不同的线程(搜索'android mapactivity memory exception')供你查看并从中获取建议。这是一个例子:
祝你好运!答案 1 :(得分:0)
我发现解决方案是创建额外的服务器端服务,根据屏幕坐标(右上角和左下角)发送不超过50个商店。因此,如果用户缩小或放大地图视图,Android应用程序将向服务器端发送新请求。任何方式用户都无法在屏幕上看到所有5000点,用户也不需要。