169 похожих чатов

Кто-То видел приложения под Android, которое позволяет менять гугл карты

на яндекс?

Мне нужно бует добавлять в приложение Яндекс Карты. Там уже есть гугл.

Хотел бы посмотреть на такие приложения.

25 ответов

38 просмотров

В чем проблема 2 карты добавить?

самый легкий способ это два фрагмента(яндекс и гугл) с общим интерфейсом общения с картой

Ivan- Автор вопроса

ну, как минимум, в том, что ViewModelы уже сильно заточены под гугл

Ivan- Автор вопроса

вот о таком и подумываю

не вижу вообще никакой проблемы использовать его под другую карту. Как он вообще может влиять, если это всего лишь слой архитектуры

самое главное не сделать в одной разметке допустим на одной активности два контейнера и гугл и яндекс и в зависимости какую карту отображать- скрывать хайдить visible той или иной контейнет- так точно делать не надо

Ivan- Автор вопроса

ну, например, функция drawMarker: LiveData<Marker> экспоузит объект, заточенный под гугл.

ну сделайте 2 фрагмента и 1 viewModel, и отображайте разные карты и т.д

перегружайте методы, в любом случае будет проверка какой тип карты используется яндекс или гугл или осм, потому что маркеры(полигоны, какието оверлеи) юзаються под конкретный тип карт

Ivan- Автор вопроса

вот да. пока так и подумываю. просто изначально VM полностью подстраивалась под объекты Google Maps. Я не знаю, на сколько это косяк моей архитектуры, но Google Maps – это же целый фрэймворк, а не просто вьюшка, поэтому все вью модельки дастаточно зависимы от него.

Ivan- Автор вопроса

угу, понимаю, спасибо. Я вот только ни одного приложения пока такого не видел в маркете)

смотрите такие приложения сложно увидеть потому что переключение карт обычно делает бекенд, а приложенько обычно юзают ту или иную карту в зависимости от бекенда, даже если вы найжете апу такую она вам ничего не даст, тока если исходники на гите и то врядле.

Ivan- Автор вопроса

не понял, что именно делает бэк? даёт ссылки на тайлы?

Я делал такие приложения. В чем проблема делаешь 2 фрагмента у одного гугл у второго яндекс. В настройках запоминаешь и грузишь то что надо тебе. Крутишь вертишь как угодно

выбор яндекса или гугла не юзер в приложение делает, а этот тип карты шлет бекенд, может у вас сам пользователь может выбирать тип карты это тоже вероятно

Ivan- Автор вопроса

у меня там и маркеры, и полигоны, и кластеризация. т.е. в vm будут дублироваться все методы. например, нарисоватьМаркерДляГуглКарты() и нарисоватьМаркерДляЯндексКарты(). и так для вссех компонентов карты. Я вот больше думаю над тем, как это абстрагировать всё и т.д. У меня в принципе приложение очень завязано с картой.

Ivan- Автор вопроса

пользователь выбирает

Там же по разному рисуется. Но ответ от сервера же одинаковый или тоже разный? Если разный, то ты сам должен понимать что надо разделять причем на старте.

Вы можете сделать модельки, который не зависят от конкретных карт (свой Marker, Polygon,..). И потом вьюшки уже будут маппить в нужные им модельки из либ

Ivan- Автор вопроса

ответ от моего сервера всегда одинаковый. там объекты, которые надо нарисовать на карте. в нарисовать входит много всего: маркеры, кружки всякие около них, линии, кластеризация. меня немного смущает, что в VM надо будет дублировать каждый метод для яндекса. + ещё учитывать, (копировать списки) какие маркеры, линиии нарисованы и тд

Ivan- Автор вопроса

думал о таком, да. тогда очень сильно расширится вьюшка. т.е. как будто во вьюшке будет много кода, который именно бизнес логика

Тут просто не будет

Ivan- Автор вопроса

мне кажется, что тут будет и не сложно, просто добавится много ifoв и тд

копипаст будет в начальной версии 100%, потом подумайте что вынести в абстракцию , может какие то методы, там по любому будут when if никуда не дется от этого в начале

Почему? Делаешь через делегирование: interface Map { fun drawMarker(marker: MyMarker) ... } class GoogleMap(val googleMapView) : Map { override fun drawMarker(marker: MyMarker) { // Map MyMarker to GoogleMarker, draw } } `` И потом во вьюшке юзаешь нужную реализацию

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта