Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
slavak7878
-15 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 20
1

MapView в CardView RecyclerAdapter

16.05.2016, 19:54. Просмотров 696. Ответов 2
Метки нет (Все метки)

Добрый день! Необходимо отобразить карту Google в CardView. Отображается только сетка, маркер и кнопки масштаба. Можно нажать только на маркер, после чего высветится title. После нажатия происходит подгрузка карты, и то не вся. Передвинуть карту возможности нет. Причем если вообще закомментировать строки с 34 по 39 в RecyclerAdapter2.java, то отобразится серый квадрат карты с надписью Google и все! Пример из Google Android Maps API (с фрагментом) в моем проекте работает без проблем! Помогите пожалуйста, неделю бьюсь!


AndroidManifest.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.НАЗВАНИЕ ПРОЕКТА">
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission
        android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission
        android:name="android.permission.READ_EXTERNAL_STORAGE" />
 
<application...
<meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
 
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="МОЙ КЛЮЧ" />
</application>
 
</manifest>
RecyclerAdapter2.java:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
public class RecyclerAdapter2 extends RecyclerView.Adapter<RecyclerAdapter2.ViewHolder>
{
 private List<Person2> mDataset;
    GoogleMap mMap;
    public static class ViewHolder extends RecyclerView.ViewHolder {
public MapView mp;
 public ViewHolder(View v) {
            super(v);
public android.support.v7.widget.CardView mCardView;
mp = (MapView) v.findViewById(R.id.map1);
}
}
 
public RecyclerAdapter2(List<Person2> dataset) {
        mDataset = dataset;
    }
 
    @Override
    public RecyclerAdapter2.ViewHolder onCreateViewHolder(ViewGroup parent,
                                                          int viewType) {
           View v = LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.recycler_item2, parent, false);
        ViewHolder vh = new ViewHolder(v);
        return vh;
    }
 
@Override
    public void onBindViewHolder(final ViewHolder holder, int position) {
 holder.mp.onCreate(null);
        holder.mp.getMapAsync(new OnMapReadyCallback() {
            @Override
            public void onMapReady(GoogleMap googleMap) {
                    mMap = googleMap;
mMap.getUiSettings().setZoomControlsEnabled(true);
                double lat1 = Double.parseDouble(lat);
                double lng1 = Double.parseDouble(lng);
                LatLng sydney = new LatLng(lat1, lng1);
                mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
                mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
                }
        });
}
}
recycler_item2.xml:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical">
 
 
 
    <android.support.v7.widget.CardView
        android:id="@+id/card_view2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="5dp"
        android:layout_marginRight="5dp">
 
 
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:background="#FFFFFF">
 
            <com.google.android.gms.maps.MapView xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/map1"
                android:layout_width="match_parent"
                map:mapType="normal"
                map:cameraZoom="16"
                android:layout_height="300dp" />
 
 
 
        </LinearLayout>
 
 
    </android.support.v7.widget.CardView>
 
 
</LinearLayout>
Добавлено через 9 часов 35 минут
Похоже как всегда придется самому разбираться. Всем спасибо!!!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.05.2016, 19:54
Ответы с готовыми решениями:

CardView
Не получается закрасить по краям СardView. Результат на изображении. Может кто сталкивался с таким?...

Маркер по центру MapView googleMap
В некоторых приложениях есть возможность на карте указать свое местоположение. там реализовано...

Нажатие на CardView
Всем привет. Вроде вопрос простой, но найти ответа не могу на него. Есть Активити, в нем несколько...

Работа с CardView
Как сделать чтобы при сдвиге CardView вправо появлялся значок удалить как указано на картинке

Подскажите по MapView (событие загрузки карты)
Здравствуйте! Может тут кто знает, как перехватить событие загрузки карты? Т.е. необходимо отловить...

2
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
17.05.2016, 00:16 2
slavak7878, попробуйте map:liteMode="true" в xml добавить карте
0
slavak7878
-15 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 20
17.05.2016, 06:52  [ТС] 3
Теперь вместо серого квадратика голубой
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2016, 06:52

MapView. API Key2. Карта не отображается
Здравия всяк сюда входящему! Тема - Освоение картографии на Android. Reverse Geocding. IDE -...

Выравнять текст в CardView
Есть у меня значит CardView в нем несколько LinearLayout Хочу что бы название предметов было ровно...

Recycle/CardView NullPointerException
(card_view_address)- &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;LinearLayout...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru