Вопрос о структуре приложения Android

В настоящее время я работаю над приложением, которое использует MapView и добавляет к нему наложения. Обычно в любой момент список наложений никогда не должен превышать двух.

Вот что я пытался сделать ...

Я расширил класс ItemizedOverlay (MyFriendOverlay), а затем создал частный объект ArrayList внутри этого расширенного класса, к которому я бы прикрепил наложения. Тем не мение; Я столкнулся с проблемой, которую не знаю, как исправить. Если вы посмотрите на этот сегмент кода:

ImageView mapMarker = new ImageView(getApplicationContext()); mapMarker.setImageResource(R.drawable.markertrp);

myPointsToShow = new myFriendOverlay(mapMarker.getDrawable(), getApplicationContext());

Как можно отметить здесь, я создал ImageView со значком на основе моих чертежей. После этого у меня есть расширенный класс из ItemizedOverlay. В конструкторе он принимает два параметра: drawable и context.

Из того, что я знаю, требуется конструктор ниже (возможно, его можно изменить):

public myFriendOverlay(Drawable defaultMarker, Context context)

Проблема здесь в том, что я продолжаю создавать новый экземпляр myPointsToShow, что является проблемой, потому что у меня есть ArrayList, который я хочу использовать в расширенном классе, поэтому у меня есть прямой контроль над наложениями. И, создавая каждый раз новый экземпляр, я действительно не добавляю в сам список.

Короче:

Все, что я хочу, - это чтобы мое приложение имело две точки (A и B), где, если будет обнаружено новое местоположение, скажем, для B, затем удалите B из списка наложений и замените его новым местоположением. То же самое и с А. Чтобы упростить его, я хочу прикрепить индекс 0 к A и индекс 1 к B, чтобы он не охватывал две точки.

Я не могу найти решение для этого из-за проблемы с необходимым конструктором, возможно, я слишком много думаю об этом ...

Пожалуйста, оставьте свой отзыв! :)

Спасибо за прочтение.


person JoxTraex    schedule 19.12.2010    source источник


Ответы (1)


По моему опыту, я делаю следующее:

  • Создайте оверлей для каждого типа изображения, которое я собираюсь показать.
  • Если список элементов на оверлей не очень длинный, я передаю его внутри намерения.

Кстати, вам нужно использовать R.drawable.something для вашего оверлея. Вам не нужно создавать ImageView.

Я использую эту Android-библиотеку для карт: android-mapviewballoons. Проверьте это!

person Macarse    schedule 19.12.2010
comment
Спасибо, посмотрю! - person JoxTraex; 20.12.2010