Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/10: Рейтинг темы: голосов - 10, средняя оценка - 5.00
Chernoff20
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 28
#1

Несколько snippet для маркера Google Maps v.2

05.07.2013, 00:54. Просмотров 1746. Ответов 14
Метки нет (Все метки)

Пользуюсь картами Google Maps v.2, там маркер добавляется вот так
Java
1
2
3
4
5
markerOptions = new MarkerOptions();
markerOptions.position(new LatLng(56.369877,89.069988));  // позиция
markerOptions.title("Title");                                // название
markerOptions.snippet("Info");                         // информация
marker = myMap.addMarker(markerOptions);       // добавление на карту
И есть класс, который реализует инфоокно (баллун) на маркете
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class MyInfoWindowAdapter implements InfoWindowAdapter{
 
           private final View myContentsView;
 
           MyInfoWindowAdapter(){                 
                   myContentsView = getLayoutInflater().inflate(R.layout.custom_info_contents, null);
                   }
  
           public View getInfoContents(Marker marker) {
   
                   tvTitle = ((TextView)myContentsView.findViewById(R.id.title));
                   tvTitle.setText(marker.getSnippet());
                     
               return myContentsView;
           }
 
           public View getInfoWindow(Marker marker) {
                  return null;
           }
  
       }
То есть в этом классе, я беру из маркера описание и вставляю его в TextView. Но у меня вопрос: как можно создать несколько описаний для маркера? Сейчас их два (название и инфа), но мне нужно ещё третье (для избранных пользователей). Как такое сделать и возможно ли?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2013, 00:54
Ответы с готовыми решениями:

Разные drawable для маркера Google Maps
Здравствуйте. Есть код главной активити @Override public void...

Привязка маркера к камере в google maps
Нужно сделать так что бы маркер добавленый на карту двигался вместе с камерой...

Google Maps 2. Ограничение на количество запросов к google
Google накладывает ограничение на количество запросов в день к Google Maps...

Google maps метод поиска фрагмента карт на разметке для разных версий Android
Столкнулся с такой проблемой. в андройде 6 работает один метод поиска...

Google maps
Уважаемые, подскажите что не так. Пытаюсь подключить карту. mapFragment =...

14
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
05.07.2013, 01:08 #2
просто добавьте в лаяут.
0
Chernoff20
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 28
05.07.2013, 11:46  [ТС] #3
Что добавить?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
05.07.2013, 12:03 #4
а что вам нужно?
0
Chernoff20
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 28
05.07.2013, 14:12  [ТС] #5
Добавлено через 1 минуту
Мне нужно грубо говоря сделать вот так
Java
1
2
3
4
5
6
markerOptions = new MarkerOptions();
markerOptions.position(new LatLng(56.369877,89.069988));  // позиция
markerOptions.title("Title");                    // название
markerOptions.snippet("Info");                         // информация
markerOptions.snippet("Secret");          // информация, которая видна будет не всем
marker = myMap.addMarker(markerOptions);       // добавление на карту
Вообще вся инфа в маркеры загружается из базы, там около 10 маркеров, всем им я хочу сделать Название, Описание 1 и Описание 2 ( Описание 2 будет выводиться не всем пользователям).

В стандартных опциях маркеров есть только Название и Описание.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
05.07.2013, 22:55 #6
Java
1
2
3
4
5
String info = "Info";
if(showSecretinfo){
    info +="\n" + "Secret";
}
markerOptions.snippet(info);
0
Chernoff20
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 28
05.07.2013, 22:58  [ТС] #7
Цитата Сообщение от V0v1k Посмотреть сообщение
showSecretinfo
Это какой-то метод или что?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
05.07.2013, 23:00 #8
это boolean указывающая выводить или нет секретную инфу.
0
Chernoff20
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 28
05.07.2013, 23:21  [ТС] #9
Я вам наверное не так объяснил.
Вот мой код загрузки точек
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
             markers = new ArrayList<Marker>();
                        for ( int i = 0; i < ob.size(); i++) {              
                              stranaGet = ob.get(i).getString("Strana");
                              oblastGet = ob.get(i).getString("Oblast");
                              emailGet = ob.get(i).getString("Email");
                               
                              markerOptions = new MarkerOptions();
                              markerOptions.position(new LatLng(geo1,geo2));
                              markerOptions.title(stranaGet);
                              markerOptions.snippet(oblastGet);                              
                              markerGet = myMap.addMarker(markerOptions);
                              markers.add(markerGet);
                         }
Так вот мне нужно "куда-то" к маркеру прицепить emailGet, вариант
Java
1
markerOptions.snippet(oblastGet+"\n"+emailGet);
не подходит, потому как мне нужно чтоб oblastGet и emailGet были отдельно, потому что точки могут добавлять сами пользователи, и когда пользователь нажмет на маркер, я сравню текущий аккаунт с тем, который в emailGet, если они совпадают, то будут определенные действия.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
05.07.2013, 23:43 #10
Java
1
2
3
4
public class MyMarkerOptions extends MarkerOptions {
          public void setEmail(String email){...}
          public String getEmail(){...}
}
0
Chernoff20
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 28
05.07.2013, 23:46  [ТС] #11
А дальше как?
0
Chernoff20
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 28
09.07.2013, 17:16  [ТС] #12
Цитата Сообщение от V0v1k Посмотреть сообщение
public class MyMarkerOptions extends MarkerOptions {
* * * * * public void setEmail(String email){...}
* * * * * public String getEmail(){...}
}
Как это дальше использовать?
0
Venzo
125 / 123 / 16
Регистрация: 03.07.2011
Сообщений: 354
09.07.2013, 19:57 #13
V0v1k, MarkerOptions объявлен как final
0
Chernoff20
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 28
09.07.2013, 22:16  [ТС] #14
Цитата Сообщение от Venzo Посмотреть сообщение
V0v1k, MarkerOptions объявлен как final
А вы знаете как нужно сделать?
0
Venzo
125 / 123 / 16
Регистрация: 03.07.2011
Сообщений: 354
09.07.2013, 23:49 #15
Цитата Сообщение от Chernoff20 Посмотреть сообщение
А вы знаете как нужно сделать?
если б знал, то написал бы

хотя костыль могу предложить:
Создаете класс CustomMarker с дополнительными полями.
Создаете map<Marker, CustomMarker>.

Код
marker = myMap.addMarker(markerOptions);       // добавление на карту
тут в map добавляете нужный CustomMarker по ключу marker.

Код
           public View getInfoContents(Marker marker) {
   
                   tvTitle = ((TextView)myContentsView.findViewById(R.id.title));
                   tvTitle.setText(marker.getSnippet());
                     
               return myContentsView;
           }
а тут из map'a достаете свой кастомный маркер по ключу marker и используете его поля

но решение так себе, надеюсь существует получше и его тут покажут
0
09.07.2013, 23:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2013, 23:49

Google maps
Здравствуйте! Недавно начал разработку приложения с использованием google maps...

Google maps v2
Внезапно встала задача запилить приложение на основе сабжа. Опыта разработки...

Google Maps
Здравствуйте! Подскажите для начала как можно тестировать Google Maps на...


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

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

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