Pull to refresh

Comments 27

Добрый день!

Интересно узнать про:

1. Систему скинов в MapsWithMe.
2. Когда будут опубликованы обещанные в прошлом году исходники.
3. Вы по-прежнему используете antigrain для рендеринга?
2. Ждите официального анонса;
3. Откуда информация, что мы используем antigrain?) AGG у нас только для рендеринга на Apple Watch.
2. Терпеливо жду, но хотелось бы, чтобы эпизодически всплывали новости в блоге — «дада, сорцы все же будут опубликованы».

3. Э. Я уже не помню. Вероятно, я когда-то потыкал палочкой ваш .so

Но это было еще очень задолго до всяких Apple Watch, MailRu etc., ближе к началу.
По поводу п.1 я чуть переформулирую.

Интересно было бы почитать про логику, которая привела к тому, что в maps.me нет до сих пор outdoor скина. Само приложение является чуть ли не эталоном того, как нужно писать карманные оффлайновые навигаторы, но некоторые решения меня ставят в тупик. Все прекрасно, но где контрастная схема? Под контрастной схемой я подразумеваю некое подобие цветовой гаммы, характерной для топографических карт — такой, которая бы, в отличие от текущей, хорошо бы читалась на ярком солнце, на которой бы более четко грунтовки отделялись от фона и т. д.
У нас нет лишних дизайнеров, чтобы бросить их на разработку дополнительных стилей. Эта задача совсем не в приоритете, да и даже не в общем списке пожеланий. Но когда мы откроем исходники («ждите анонса», да, мы обещали открыть до конца года), любой сможет сочинить собственный картостиль в любых цветах и с любыми объектами, нарисованными в OSM.
Сколько нужно дизайнеров, чтобы собрать drules_proto.bin из hiking mapcss от stranger?
Если имеется в виду стиль чепецк.net, то очень много: тот mapcss заточен под использование с mapnik и хитро выделанной базой PostGIS. Большинство элементов сработают в MAPS.ME, но не все. Нужно аккуратно пройтись по всем селекторам и убедиться, что они правильно обработаются приложением.

Проблема с MapCSS в том, что он у всех свой, пусть базовые правила и совпадают :)
Да, я про него. Я не заметил с ним проблем в maps.me, кроме известной темы с coastlines. Тестировал достаточно долго и по-разному.
С удовольствием почитал бы о рендеринге текста. Читал уже, что используете SDF и т.д. но хотелось бы детальнее.
Пользуясь случаем хочу передать привет разработчикам maps.me. На днях платная версия взбесилась и прислала мне порядка 30 push уведомлений на всех языках мира. Телефон(Nexus) аж вскипел.

Proof
image
Приносим извинения за досадный сбой.

> На днях платная версия взбесилась
Актуальная версия приложения полнофункциональна и бесплатна во всех сторах.
Точно помню, что только в платной версии была навигация, поэтому и купил ее, может давно это было просто.
В любом случае хорошо, что это не была глубокая ночь)
Только что обновлял, после прочтения статьи, аналогичная ситуация. Сообщения иероглифами и вязью немного напрягли.
Чтобы закрыть тему ложных пуш-уведомлений — vc.ru/n/maps-push-bag
В конце текста есть опрос, где вы можете предложить, как нас «наказать» за это :)
Пожелал вам отпуска :) он в перевесе, так что дайбог :)
Спасибо за статью, очень интересно!

Учитывая как вы заморочились со стыками сегментов маршрута, скажите, не собираетесь ширину линии маршрута менять в зависимости от типа дороги? А то сейчас что шоссе, что дворовый проезд — одинаковая толщина.

Да, для обычных смертных есть простой рабоче-крестьянский метод решения проблемы сложения α-каналов в месте пересечения линий. Нужно задать буфер в несколько метров и перейти от линий к полигонам, после этого их можно просто объединить. Конечно это накладывает свои ограничения, но в большинстве простых случаев вполне рабочий вариант.
Мы постоянно работаем над улучшением визуальной привлекательности наших карт, если поймем, что есть реальная потребность в изменении ширины в зависимости от типа дороги — обязательно сделаем. Пока, на сколько мне известно, обращений по этому поводу очень мало.

Не могли бы поподробнее описать ваш метод? Что вы имеете ввиду под «задать буфер в несколько метров и перейти от линий к полигонам»?
Примерно так:

SELECT ST_Union(way_segments) AS whole_way
FROM
  (SELECT ST_Buffer(way, buffer_radius) AS way_segments
   FROM planet_osm_line
   WHERE some_clause
  ) AS segments;
Что-то мне подсказывает, что ST_Buffer и ST_Union должны делать примерно то же самое, что я описал, чтобы результирующая геометрия не перекрывалась в местах стыков :)
Из системы построения маршрута к нам в графический движок приходит ломаная, по ней надо сгенерировать полигоны. Функции из Гео Баз Данных мы использовать не можем, просто мы уже не имеем этих баз на уровне приложения :) Данные, которые мы получаем из OSM, упаковываются и обрабатываются нашими алгоритмами, и такие красивые запросы нам уже не доступны.
Ну я и не говорил, что этот рецепт вам подойдёт, но может он пригодится кому-то другому =)
Интересно было прочитать, а еще интереснее, что я прошел точно таким же путем, генерируя маршруты движения для нашего приложения. За исключением стрелок, все один в один.
Я все велосипедил, а вы?
Просто это был первый опыт в 3D и не смог найти нужную информацию с ходу :)
Не совсем понял ваш вопрос. Если вы про то, собственный ли у нас движок для отрисовки, то да :) Можете даже назвать его велосипедом, если хотите. Однако, сторонних решений, полностью удовлетворяющих нашим потребностям и с подходящей лицензией, просто нет.
Просто интересно было, решения были придуманы или сделаны по подобию готового или описанного?
Мы, конечно, пытаемся воспользоваться любой информацией, которую можем найти :) Интересные вещи иногда пишет Mapbox. Со стрелками сами разработали алгоритм рендеринга, хотя на оригинальность решения не претендуем.
Странно, ожидал именно на Хабре увидеть статью о новом дизайне Maps.me, а нашёл только на ЦП ( https://vc.ru/p/mapsme-design )
Sign up to leave a comment.