Карта в Xamarin ListView - PullRequest
       6

Карта в Xamarin ListView

0 голосов
/ 17 марта 2020

У меня есть ListView в моем приложении Xamarin Android, где у меня более 100 элементов списка. Каждый элемент имеет компонент Google Maps, показывающий карту области. Я понял, что это приводит к задержке вертикальной прокрутки ListView (из-за того, что каждый компонент довольно сложный в вычислительном отношении, я полагаю). Каждая область имеет ширину х 128 пикселей.

Теперь я думаю о том, как показать карту области и при этом иметь хорошую производительность при прокрутке. Одна идея состоит в том, чтобы создать небольшое изображение каждой области и вместо этого связать его с элементом ListView. Однако, насколько я понимаю, технически невозможно создать изображения из API Карт Google (карта + маркер).

Как бы вы порекомендовали это решить? Как вы думаете, у меня есть другое узкое место, а не 100 экземпляров? В моих тестах довольно очевидно, что он начал отставать, когда я добавил компонент. Однако компонент скрыт (IsVisible = "False"), если вы не развернете элемент списка, но его "там" и задержка сохранятся. Нормально ли иметь столько компонентов в первую очередь?

Моя карта является частью сетки и выглядит следующим образом:

<Frame Grid.Row="4" x:Name="expandArea" BackgroundColor="Transparent" IsVisible="False" Padding="0" Margin="0" HasShadow="True">
  <maps:Map x:Name="userMap" MinimumHeightRequest="128" HeightRequest="128" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"/>
</Frame>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...