Форум программистов, компьютерный форум CyberForum.ru

Приложение с геометками - Android

Восстановить пароль Регистрация
 
kirich iz Che
 Аватар для kirich iz Che
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 25
28.10.2016, 17:46     Приложение с геометками #1
Добрый день.
Я новичок в разработке на андроид, появилась идея и я пытаюсь ее реализовать. Если в двух словах приложение использует жпс пользователей и делает метку на карте (ориентир foursqure).

Вопрос по поводу меток. Нужно ли организовывать отдельный сервер под все это дело, или гугл карты это покрывают? не очень понимаю этот момент.
Прошу вашего совета.

и если можно, хотел бы в этой теме дальше задавать свои вопросы.

спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2016, 17:46     Приложение с геометками
Посмотрите здесь:

Не публикуется приложение Android
Приложение Hello World Android
Android Отключается приложение
Android Приложение Hello World
Android Не запускается приложение
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
shavuz
56 / 62 / 10
Регистрация: 29.01.2014
Сообщений: 299
30.10.2016, 12:20     Приложение с геометками #2
не очень понятен вопрос. вы хотите на карте показывать маркер или несколько маркеров?
вот так, если я правельно понял:
Java
1
2
3
4
5
6
@Override
public void onMapReady(GoogleMap map) {
    map.addMarker(new MarkerOptions()
        .position(new LatLng(10, 10))
        .title("Hello world"));
}
а описано это тут:
https://developers.google.com/maps/d...oid-api/marker

а можно еще так : http://bfy.tw/8Su7
kirich iz Che
 Аватар для kirich iz Che
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 25
30.10.2016, 12:23  [ТС]     Приложение с геометками #3
Да, будет составляться карта на которой будут видны все геометки, которые сделали юзеры (друзья юзеров). Саму метку не проблема поставить, а вот насчет показывания всех и есть вопрос
shavuz
56 / 62 / 10
Регистрация: 29.01.2014
Сообщений: 299
30.10.2016, 13:00     Приложение с геометками #4
вопрос как сделать много маркеров на карте?

есть много варриантов, вот один например:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
ArrayList<MarkerData> markersArray = new ArrayList<MarkerData>();
 
for(int i = 0 ; i < markersArray.size() ; i++ ) {
 
    createMarker(markersArray.get(i).getLatitude(), markersArray.get(i).getLongitude(), markersArray.get(i).getTitle(), markersArray.get(i).getSnippet(), markersArray.get(i).getIconResID());
}
 
...
 
protected void createMarker(double latitude, double longitude, String title, String snippet, int iconResID) {
 
    return googleMap.addMarker(new MarkerOptions()
            .position(new LatLng(latitude, longitude))
            .anchor(0.5f, 0.5f)
            .title(title)
            .snippet(snippet);
            .icon(BitmapDescriptorFactory.fromResource(iconResID)));
}
Добавлено через 3 минуты
или вопрос как получить геопозицию всех друзей?
xaat
40 / 13 / 6
Регистрация: 05.12.2015
Сообщений: 64
30.10.2016, 15:30     Приложение с геометками #5
Цитата Сообщение от shavuz Посмотреть сообщение
или вопрос как получить геопозицию всех друзей?
На сервере где то хранить. Я бы использовал БД в Firebase.
kirich iz Che
 Аватар для kirich iz Che
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 25
30.10.2016, 15:38  [ТС]     Приложение с геометками #6
Спасибо, но вопрос был более абстрактный) С кодом разберусь походу дела.


На сервере где то хранить. Я бы использовал БД в Firebase.
А вот например в яндекс.транпорт берется точка по gps в автобусе и она по карте едет. Это постоянно обновление базы происходит?
звучит сложно и нагруженно
shavuz
56 / 62 / 10
Регистрация: 29.01.2014
Сообщений: 299
30.10.2016, 15:49     Приложение с геометками #7
аааа. ну в принципе это делается так. конечно нужен сервер. фаербейс или бэкэндлесс вполне подойдут. нужно сделать два поллинг механизма, один будет отправлять данные о местоположении на сервер, а второй будет проверять есть ли изменения на сервере. разделим на два варрианта
1) показывать друзей на карте, вы открываете аппликацию и видите всех друзей на карте, в тот момент когда вы ее открыли осуществляется запрос на сервер, и сервер возвращает список координат всех друзей. так же, пока аппликация открыта, каждые например 20 секунд нужно послылать повторный запрос(это и есть поллинг)
2) сообщение серверу о текущем местоположении, тут несколько варриантов, можно отслеживать изменения джипиэс, или тоже отсылать текущие координаты какой то промежуток времени, например раз в пол часа.

на сервере нужно всю эту логику прописать тоже, например каждый пользователь должен держать в массив со списком друзей и их координатами, при чем координаты должны обновляться
Alex_Fedor
16 / 16 / 2
Регистрация: 20.01.2015
Сообщений: 132
30.10.2016, 15:50     Приложение с геометками #8
Цитата Сообщение от kirich iz Che Посмотреть сообщение
звучит сложно и нагруженно
Ну почему с некоторой периодичностью в фоновом процессе определяем где находимся и пишем в БД. Можно сделать так чтобы старые записи удалялись. Или скажем с автобусом. Начальная точка, конечная точка и названия улицы. Можно писать новую координату, если от последней удалился на сколько то метров
kirich iz Che
 Аватар для kirich iz Che
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 25
30.10.2016, 18:02  [ТС]     Приложение с геометками #9
Ага, теперь становится более понятно. Попробую пока написать чисто для одного устройства (того на которое установлено), там думаю будет вырисовываться.

Спасибо за ответы.
Не закрывайте тему пожалуйства, буду тут отписываться по ходу работы
xaat
40 / 13 / 6
Регистрация: 05.12.2015
Сообщений: 64
30.10.2016, 19:29     Приложение с геометками #10
Цитата Сообщение от kirich iz Che Посмотреть сообщение
А вот например в яндекс.транпорт берется точка по gps в автобусе и она по карте едет. Это постоянно обновление базы происходит?
звучит сложно и нагруженно
Берешь два измерения долготы, отнимаешь одно от другого, если модуль разности, больше заданного тобой числа, отправляешь новую позицию.
ole_zha
17 / 17 / 4
Регистрация: 11.09.2015
Сообщений: 82
03.11.2016, 07:02     Приложение с геометками #11
Просто возьмите бд и апдейтите значения пользователя из приложения согласно gps каждую минуту к примеру
id name lat lng
1 User1 45 -12
Так же каждую минуту парсите это значение.
Но не забывайте, что если меток на карте много , лучше использовать группировку.

В яндекс транспорте используется предиктивная аналитика.
Например автобус едет тут
А----О---------------Б
В картах он будет дальше от точки Б, т.к существует много факторов (пинг сервера, соединение телефона с инетом,качество оборудования gps в автобусе,интервал обновления БД) соостветственно данные доходят до вас устаревшие
А--О-----------------Б

Но если например автобус стоит на светофоре
А----О---------------Б
То на картах он будет медленно но двигаться ближе к точке Б
А----------О---------Б

Обусловленно это тем, что приложение берет в расчет эти факторы и подгоняет значения предполагая что автобус "где-то тут"
Так же и с яндекс пробками, они на половину берутся с наблюдений realtime и базой знаний.
Делается это в целях экономии ресурсов скорее всего.
kirich iz Che
 Аватар для kirich iz Che
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 25
03.11.2016, 07:26  [ТС]     Приложение с геометками #12
Спасибо за совет.
Думаю в масштабах приложения делаемого одним человеком, делать нейронную сеть для пробок и тд врядли нужно
Точность в пару сотен метров думаю меня устроит
ole_zha
17 / 17 / 4
Регистрация: 11.09.2015
Сообщений: 82
03.11.2016, 07:48     Приложение с геометками #13
У меня похожая затея но только не с gps и не связана с передвижениями) я делаю веб-приложение, если тебе поможет чем нибудь
Google maps api + external link
Там есть ссылки на другие треды, которые я решил, там и кластеризация и определение геоположения и парсинг с бд данных)
kirich iz Che
 Аватар для kirich iz Che
0 / 0 / 0
Регистрация: 29.03.2010
Сообщений: 25
03.11.2016, 07:54  [ТС]     Приложение с геометками #14
Странно что вам никто не ответил не разу в темах
В принципе общение в веб приложении и андроидом очень похоже, покурю ваш код, может чего смогу почерпнуть. Большое спасибо.
з.ы. насколько я сталкивался, кластеризация это уже анализ данных, для чего вы ее используете в своем веб приложении?
ole_zha
17 / 17 / 4
Регистрация: 11.09.2015
Сообщений: 82
03.11.2016, 08:07     Приложение с геометками #15
Marker Clusterer
Вот это очень наглядный пример скорости загрузки от гугла)

В кратце, если приложение имеет большую плотность меток на карте, это очень плохо по ряду причин:
- плохо воспринимается каша, даже не смотря на то, что все метки выстраиваются на карте по z-index'у
- скорость загрузки карты начнет страдать
- для приложений с webview это вообще смертельно)
- впринципе отображение кучи геометок сказывается на производительности как и так и мобилок

Ну а никто не ответил я даже не знаю почему, то ли решил быстро проблему, то ли никто не курит гуглокарты
Sardinia
1 / 1 / 1
Регистрация: 27.06.2016
Сообщений: 74
08.11.2016, 15:36     Приложение с геометками #16
ole_zha, какие есть пути оптимизации (обхода и т.д.) для мобильных приложений, где высокая плотность меток на карте играет определяющую роль, можешь подсказать? Хочу на основе гуглокарт запустить)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2016, 08:20     Приложение с геометками
Еще ссылки по теме:

Android Сообщение "приложение остановлено" постоянно, даже когда приложение вообще не запущено
Android Переделать приложение для Андроид в приложение для ПК
Допиленное узкоспециализированное приложение или неповоротливое многофункциональное приложение? Android

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

Или воспользуйтесь поиском по форуму:
ole_zha
17 / 17 / 4
Регистрация: 11.09.2015
Сообщений: 82
17.11.2016, 08:20     Приложение с геометками #17
Sardinia, я, к сожалению, не знаю конкретных средств для мобильных платформ, но алгоритм могу привести:
1)определение boundings карты юзера
2)генерация json с метками, lat и lng выходят чуть больше , чем диапазон boundings
3)инициализация карты с кластеризацией
ну это так, первое что пришло в голову наиболее рациональное.

Если метки статичны, можно попробовать переопределить группы меток на сервере на каждый кластер и зум карты и выдавать юзеру уже заранее готовые группы меток.
На хабре хорошая статья ссылка
А так же на гиктайме статья про переопределение меток на сервере ссылка
Yandex
Объявления
17.11.2016, 08:20     Приложение с геометками
Ответ Создать тему

Метки
android, gps, приложения
Опции темы

Текущее время: 06:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru