Как добавить тысячи GeoPoints в моем MapActivity - PullRequest
1 голос
/ 20 октября 2011

У меня есть приложение для 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?

Ответы [ 2 ]

1 голос
/ 20 октября 2011

Скорее всего, вы получаете исключение нехватки памяти из-за большого количества наложений, которые вы добавляете на карту.Если это так, вам нужно найти обходной путь.В Интернете существует множество разных тем (ищите «исключение памяти android mapactivity memory»), на которые вы можете посмотреть и получить предложения.Вот один пример:

http://code.google.com/p/android/issues/detail?id=2181

Удачи!

0 голосов
/ 05 октября 2012

Я выяснил, что решение заключается в создании дополнительной службы на стороне сервера, которая отправляет не более 50 хранилищ в соответствии с координатами экрана (вверху справа и слева внизу). Таким образом, если пользователь уменьшит или увеличит масштаб представления карты, приложение Android отправит новые запросы на серверную часть. В любом случае пользователь не может видеть все 5000 точек на экране, и пользователю это не нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...