приводили же пример рендера с задаваемым приоритетом языка именований. урл только вспомнить не могу.
наложить поверх без-name-овой карты и юзать в свое удовольствие.
в начале темы как раз эта ссылка и есть
проблема в тормозах и глюках, из-за которых такой вариант не годится для каждодневного использования
Только рендерить браузером.
Ничего плохого в этом нет, к этому нужно стремиться — данные на сервере, представление на клиенте.
Гугл со своими векторными гипертекстовыми картами так и делает, НЯП. Поэтому они так тормозят.
А Яндекс использует смешанный вариант, часть рендерится на сервере, часть на клиенте.
И что?
во-первых, его края качественно сглажены
https://developer.mozilla.org/ru/docs/Web/SVG/Attribute/shape-rendering
http://stackoverflow.com/questions/22161624/how-to-render-svg-elements-with-crisp-edges-while-still-keeping-anti-aliasing
во-вторых, вокруг многих надписей полупрозрачный ореол
https://developer.mozilla.org/ru/docs/Web/SVG/Attribute/stroke-opacity
в-третьих, чтобы текст повторял контур улиц, он должен быть корректно искривлён
Что значит “корректно искривлён”? Как реальном мире - так и на экране.
https://developer.mozilla.org/en-US/docs/Web/SVG/Element/textPath
в-четвёртых, для текста нужна хорошая поддержка Юникод, как на уровне шрифта, так и на уровне рендера
всё это сделать на стороне клиента не так уж и просто
Конечно не просто. Уже сделано 10 лет назад.
Если кто-то не осиливает суровый SVG, то для эникейщиков с хабра написали http://d3js.org/. Ей тоже уже 4 года. На ней УЖЕ написан редактор (а не тупая рендерилка): iD. Многоязычный редактор. Использующий overpass-api как бекэнд. Фильтрующий данные на низких зумах.
А Яндекс использует смешанный вариант, часть рендерится на сервере, часть на клиенте.
Так я это и имел ввиду - леса, поля, домики пускай рендеряться заранее, тексты и пои прямо в браузере с возможностью динамически переключить язык и фильтровать пои. Почему это не сделают на главной странице osm? неужели при вводе данных в базу никому не надо посмотреть как будет выглядеть карта на другом языке?
Почему это не сделают на главной странице osm?
А почему вы не заработаете миллиард долларов?
Этим надо заниматься, а никто не занимается, т.к. никто не обязан этого делать.
Так я это и имел ввиду - леса, поля, домики пускай рендеряться заранее, тексты и пои прямо в браузере с возможностью динамически переключить язык и фильтровать пои. Почему это не сделают на главной странице osm? неужели при вводе данных в базу никому не надо посмотреть как будет выглядеть карта на другом языке?
Меньшинству - нужно. Меня устраивают надписи на местном языке на http://tile.openstreetmap.org/. В Японии - на японском, очень логично.
Выучить местные правила произношения куда полезнее чем иметь надписи на вашем родном языке (не уместном в этой местности) и не уметь сказать ни слова на местном языке в реальном мире.
никому не надо посмотреть как будет выглядеть карта на другом языке?
И какой толк? Местному жителю вы что скажете? Куда ткнёте пальцем?
http://wiki.openstreetmap.org/wiki/Map_internationalization
http://nomino.openstreetmap.fr/
http://developer.skobbler.de/mapcreator
Мы для питерского портала общественного транспорта делали поддержку 3-х языков.
В принципе - ничего сложного, просто места нужно больше.
Применимость этого ограничена людьми не способными произнести названия на местном языке. Да, такие люди есть. Увеличивать затраты на память только потому что кто-то не умеет сказать несколько надписей на одном из 200 языков… Не оправдано, местного языка почти всегда достаточно. Кроме территорий с несколькими языками. Как произнесённое вслух “Saint Peterburg” поможет вам задать вопрос Ивану?
Пока кто-то сидит в автомобиле и слушает инструкции на английском как свернуть в Kolpino это работает.
Я не хочу видеть как питер выглядит на японском, нет. Не показывайте мне карты с японскими надписями когда спрашиваете вопрос. Я буду отвечать вам на русском, на котором вы даже название сказать не в состоянии. Вам питер нужно иероглифами написать чтобы вы хоть слово сказали. Я не знаю японское письмо и произношение.
Английский вторым языком ещё куда ни шло, дальше - смысла нет. Языков далеко не 200. Это Википедию успели только на 200 перевести.
Более того языки географичны.
Если кто-то не осиливает суровый SVG…
SVG каждый браузер рендерит по-своему.
http://www.w3schools.com/svg/tryit.asp?filename=trysvg_text2
Для каких-то применений это может быть незначимой мелочью.
На карте же от этого зависит очень важная вещь - сможет прочесть пользователь конкретную надпись или нет.
каждый браузер рендерит по-своему.
Да. И что?
Каждая система имеет свою графическую подсистему (directx vs opengl).
У них есть версии. Все версии разные и путать их нельзя.
Каждая видеокарта/чип будет исполнять инструкции по своему (ati vs nvidia vs что-там-на-андроидах)
У вас есть хоть какая программа которая:
- будет учитывать физическое разрешение монитора / пикселя
- будет не зависеть от ОС
- будет не зависеть от версии графической подсистемы
- будет не зависеть от ошибок в железе
Для каких-то применений это может быть незначимой мелочью.
Нет, вы лучше скажите для каких применений это значительный недостаток, делающий SVG абсолютно нефункциональным.
На карте же от этого зависит очень важная вещь - сможет прочесть пользователь конкретную надпись или нет.
Вы недооцениваете когнитивные способности человека распознавать абстрактные объекты-образы.
Больше века кривой почерк врача читается, а машинный текст текст без пары пикселей как это нравится пользователю X сразу нечитаем. Все три надписи я прочитал, пикселей в них не отличал.
Больше века кривой почерк врача читается, а машинный текст текст без пары пикселей как это нравится пользователю X сразу нечитаем. Все три надписи я прочитал, пикселей в них не отличал.
решил проверить рендер SVG браузерами на реальном примере
признаю, нечитаемости достичь не удалось
однако эффекты в стиле “корявый почерк врача” получил в избытке:
в первом варианте буквы прыгают вверх-вниз (у_л_ица)
во втором варианте страдает кернинг (А_к_адемика)
в третьем - текст получился длиннее, чем надо
также все три варианта различаются толщиной текста
в итоге, раздражение пользователя получить можно, унифицированный дизайн - нет
в итоге, раздражение пользователя получить можно, унифицированный дизайн - нет
Кого это волнует? Не будем небоскрёбы строить потому что кто-то с них упасть может и убиться.
shape-rendering: geometricPrecision
text-rendering: geometricPrecision
https://developer.mozilla.org/ru/docs/Web/SVG/Attribute/shape-rendering
https://developer.mozilla.org/ru/docs/Web/SVG/Attribute/text-rendering
Как это похоже на баг репорт? В каком браузере у вас буквы “плясали”?Какая версия браузера? Какая система, версия?
http://stackoverflow.com/questions/7968795/is-it-safe-to-use-the-css-rule-text-rendering-optimizelegibility-on-all-text
http://aestheticallyloyal.com/public/optimize-legibility/
http://stackoverflow.com/questions/15385911/better-svg-rotated-text-rendering
А кто-нить пробывал казать OSM как SVG?
А кто-нить пробывал казать OSM как SVG?
http://wiki.openstreetmap.org/wiki/SVG
IMHO, для броузеров более перспективно делать на базе canvas: http://kothic.org/
А кто-нить пробывал казать OSM как SVG?
- Открываете http://www.openstreetmap.org
- Справа есть кнопка “поделиться”
- формат SVG
- ставим галочку “Выбрать размер вручную”
- рисуем прямоугольник где нужно
- нажимаем кнопочку “скачать”
http://wiki.openstreetmap.org/wiki/SVG#Ways_to_create_an_SVG_map_from_OpenStreetMap
Векторный рендер без тормозов возможен только на canvas + webgl. Забудьте про SVG, он аппаратно не ускорен.
Векторный рендер без тормозов возможен только на canvas + webgl. Забудьте про SVG, он аппаратно не ускорен.
А этого есть прецеденты ?
Небольшой оффтоп:
В OSMAnd, если не ошибаюсь, можно выбрать язык подписей на карте.
Забудьте про SVG, он аппаратно не ускорен.
Птф. Что? Может CSS тоже аппаратно не ускорен? Даже IE был ускорен три года назад http://blogs.msdn.com/b/ie/archive/2011/03/08/comparing-hardware-accelerated-svg-across-browsers-with-santa-s-workshop.aspx
http://robert.ocallahan.org/2011/03/myth-of-hardware-acceleration_10.html
Если какой-то браузер не может реализовать ускорение транслируя SVG в OpenGL то это лично его проблемы. Либо проблемы платформы где трансляция невозможна. SVG писали люди которые в курсе о ограничениях opengl/directx.
SVG не быстрый. WebGL не быстрый и ещё никем не поддерживающийся: http://caniuse.com/#search=webgl
Mapbox сделали правильный выбор самой широко поддерживаемой технологии на браузерах - SVG. Выкидывать андроид и firefox только изза webgl? https://www.mapbox.com/osmdev/2012/11/20/getting-serious-about-svg/
WebGL…
https://github.com/Famous/famous
http://codepen.io/befamous/popular/
https://www.meteor.com/blog/2014/06/03/meteor-famous-mobile
Это типа новый тренд велосипедить UI библиотеки на webgl и HTML5 (с JS костылями). Анимации прикольные, да. Зачем повторять работу в android - после разработчиков androidsdk, в chrome - после разработчиков chrome.
Да многие могут сделать это. “Нарисовать 1 пиксель цветом” можно много на чём. Сколько затрат это потребует и сколько времени?
С точки зрения разработчика сейчас всё равно на чём писать: чистый SVG и костыли к нему, либо webgl и JS и костыли к нему. Инструменты для отладки обоих стеков одинаковы: команды драйвера видеокарт, “refill” “redraw” что называют в браузерах.