Чтобы опубликовать альтернативное решение для довольно старого ответа (более 2 лет), но я подумал, что это может помочь кому-то, кто может наткнуться на этот пост, как я.
ПРИМЕЧАНИЕ. Это может быть полезно для тех, кому просто нужно отобразить местоположение на «карте», но не нужно взаимодействовать с ним в ListView
. Фактическая Карта может отображаться, скажем, на странице детали , после нажатия на элемент в ListView
Как уже указывалось @CaseyB, MapView
является довольно тяжелым представлением. Чтобы противостоять этому аспекту (и сделать жизнь немного легче, но для меня ;-)), я решил создать URL-адрес, как вы бы сделали для статической Карты Google, используя несколько параметров, необходимых для моего приложения. Вы можете получить больше вариантов здесь: https://developers.google.com/maps/documentation/staticmaps/
Во-первых, когда я строю данные для своего ListView
, я передаю такие данные, как широта и долгота в строку с некоторыми статическими переменными, взятыми из упомянутой ссылки выше. Я получаю свои координаты из API Facebook.
Код, который я использую для создания ссылки:
String getMapURL = "http://maps.googleapis.com/maps/api/staticmap?zoom=18&size=560x240&markers=size:mid|color:red|"
+ JOLocation.getString("latitude")
+ ","
+ JOLocation.getString("longitude")
+ "&sensor=false";
Приведенный выше URL при использовании в браузере возвращает файл .PNG
. Затем в своем adapter
для упражнения я использую Ленивая загрузка @ Fedor , чтобы отобразить изображение, сгенерированное из ранее созданного URL-адреса, для отображения в пользовательском ListView
. Конечно, вы можете выбрать свой собственный метод для отображения Map
(на самом деле это изображение карты).
Пример конечного результата.
В настоящее время у меня есть около 30 нечетных карт регистрации (я использую их вместе с Facebook SDK) в этом ListView
, но у пользователей может быть 100 из них, и не было никаких сообщений о его замедлении.
Я подозреваю, что это может не помочь ОП, учитывая время, прошедшее с момента вопроса, но надеюсь, что это поможет другим пользователям, попавшим на эту страницу в будущем.