Comments 75
Спасибо за первый пункт!
«Яндекс вправе по своему усмотрению отказать в доступе к Сервису без объяснения причин.»
На этом можно было, по сути, и закончить :)
«Яндекс вправе по своему усмотрению отказать в доступе к Сервису без объяснения причин.»
На этом можно было, по сути, и закончить :)
Стесняюсь спросить, сколько вы предоставляли бесплатных сервисов пользователям.
Стесняюсь вам ответить, но при таком раскладе есть неиллюзорный шанс получить не работоспособный бесплатный сервис для пользователей.
Все ближе склоняюсь к идее реализовать поддержку минимум двух картографических сервисов.
Все ближе склоняюсь к идее реализовать поддержку минимум двух картографических сервисов.
вы знаете, яндекс так же и с платными сервисами поступает…
А вот еще совет — если вы сделали свою модульную систему, похожую на уже существующую, но не совместимую, ни в коем случае не пишите по ней документации. Два с половиной примера будет достаточно.
Позволю себе ответить на этот завуалированный выпад.
Нет, мы не написали 15-ый конкурирующий стандарт.
Модульностей на рынке много, но у нас есть вполне конкретные требования:
1. Асинхронный require
2. Асинхронный provide
Первое требование означает, что по modules.require мы можем сходить на сервер и подгрузить нужные модули.
Второе требование означает, что модуль сам может быть декомпозирован и (а) догрузить что-то в тот момент, когда его кто-то захотел использовать (например, пробки догрузят актуальные данные — баллы пробок — именно в тот момент, когда их используют), (б) разбить длительную инициализацию на несколько этапов, чтобы не подвешивать браузер.
Нам пришлось выдвинуть такие требования, когда мы начали заниматься декомпозицей package.full. Например, код и картинки для «линейки» на карте не грузятся, пока пользователь не включил её.
Мы очень хотели использовать какую-нибудь из имеющихся модульных систем, но быстро обнаружили, что ни одна (requirejs, commonjs, AMD, LMD, etc) не удовлетворяет этим требованиям.
Мы используем модульную систему, написанную нашим коллегой dfilatov. Она доступна на гитхабе, прошу любить и жаловать:
github.com/ymaps/modules
Нет, мы не написали 15-ый конкурирующий стандарт.
Модульностей на рынке много, но у нас есть вполне конкретные требования:
1. Асинхронный require
2. Асинхронный provide
Первое требование означает, что по modules.require мы можем сходить на сервер и подгрузить нужные модули.
Второе требование означает, что модуль сам может быть декомпозирован и (а) догрузить что-то в тот момент, когда его кто-то захотел использовать (например, пробки догрузят актуальные данные — баллы пробок — именно в тот момент, когда их используют), (б) разбить длительную инициализацию на несколько этапов, чтобы не подвешивать браузер.
Нам пришлось выдвинуть такие требования, когда мы начали заниматься декомпозицей package.full. Например, код и картинки для «линейки» на карте не грузятся, пока пользователь не включил её.
Мы очень хотели использовать какую-нибудь из имеющихся модульных систем, но быстро обнаружили, что ни одна (requirejs, commonjs, AMD, LMD, etc) не удовлетворяет этим требованиям.
Мы используем модульную систему, написанную нашим коллегой dfilatov. Она доступна на гитхабе, прошу любить и жаловать:
github.com/ymaps/modules
Я помню пост про эту систему, и не возражаю против ее существования в принципе.
Просто названия совпадают с AMD-шными, но ведут себя по другому, документации кот наплакал, и чтобы выудить даже эту ссылку, пришлось делать «выпад»:)
Просто названия совпадают с AMD-шными, но ведут себя по другому, документации кот наплакал, и чтобы выудить даже эту ссылку, пришлось делать «выпад»:)
Документация есть:
Если этого недостаточно, то я прямо даже не знаю, что ещё нужно сделать.
- на гитхабе: github.com/ymaps/modules/blob/master/what-is-this.md
- в руководстве пользователя:
- в референсе:
- примеры в песочнице:
Если этого недостаточно, то я прямо даже не знаю, что ещё нужно сделать.
Судя по коду Яндекс.Карт, модульная система используется намного шире, например, для загрузки css через метод provideCss. Почему тогда открытый проект на гитхабе такой скудный? Я понимаю, что можно поднапрячься и расширить функциональность вашей библиотеки, но не вижу смысла на фоне уже имеющихся библиотек. Если уж идти в открытую, то идти до конца, не ограничиваясь модульностью только в картах. Задумка с двойной асинхронностью очень хорошая, уверен, что не только вы решали эту проблему.
css = просто строка, которую мы добавим в тэг link. Не вижу особого смысла открывать эту функцию, но мы подумаем, спасибо.
> Задумка с двойной асинхронностью очень хорошая, уверен, что не только вы решали эту проблему.
Ну, я не нашел ни одной библиотеки с такой функциональностью год назад. Может, вы нашли?
> Задумка с двойной асинхронностью очень хорошая, уверен, что не только вы решали эту проблему.
Ну, я не нашел ни одной библиотеки с такой функциональностью год назад. Может, вы нашли?
Ну, я не нашел ни одной библиотеки с такой функциональностью год назад. Может, вы нашли?
Не встречал таких.
Загрузка css лишь малый пример того, что скрыто. Скрыта сама суть независимого модуля, который тянет за собой стили, картинки, шаблоны, мета данные и т. д. Поэтому и говорю, что тот обрубок на гитхабе не интересен для использования в своих проектах. Кроме того, модули еще надо как-то собирать и компоновать с учетом дерева зависимостей для использования на продуктивной системе, и тут опять — тишь да гладь, ничего не предоставлено. Если бы выкатили все до конца, был бы успех, потому что кроме Component я не могу назвать примера библиотеки с инкапсуляцией зависимостей.
> Загрузка css лишь малый пример того, что скрыто.
Нет, это неправда.
provideCss — просто шорткат для записи строки в link. Картинки и шаблоны также поставляются как строки, даже без шорткатов.
Поверх modules на гитхабе мы используем только шорткат для css + оборачиваем в промисы (с использованием другого публичного проекта github.com/dfilatov/vow)
Нет, это неправда.
provideCss — просто шорткат для записи строки в link. Картинки и шаблоны также поставляются как строки, даже без шорткатов.
Поверх modules на гитхабе мы используем только шорткат для css + оборачиваем в промисы (с использованием другого публичного проекта github.com/dfilatov/vow)
Вместо указания загрузки модулей в src "//api-maps.yandex.ru/2.1/?load=Map,Placemark"
удобно было бы сделать
ymaps.ready(function (Map, Placemark) {
var map = new Map();
//…
})
чтобы только код пользователя во всем моем приложении знал какие модули ему нужны. А-ля dependency injection в ангуляре
удобно было бы сделать
ymaps.ready(function (Map, Placemark) {
var map = new Map();
//…
})
чтобы только код пользователя во всем моем приложении знал какие модули ему нужны. А-ля dependency injection в ангуляре
Можно использовать ymaps.load(['список модулей']) — эффект будет примерно такой
Вы можете поставить пустой GET-параметр load "...?load=&lang=...". В таком случае будет загружена только модульная система. А дальше при помощи метода modules.require производить загрузку только тех модулей, которые нужны.
api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/modules.require.xml
api.yandex.ru/maps/jsbox/2.1/module_request
api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/modules.require.xml
api.yandex.ru/maps/jsbox/2.1/module_request
Классно было бы прямо на api.yandex.ru/maps/doc/intro/concepts/rules.xml выписать основные правила и ограничения.
То, что яндекс-карты можно использовать только на сайтах и в мобильных приложениях, — неочевидно и зарыто в середине одного из трёх соглашений. А это, в отличие от многих других очевидных пунктов, написанных сложным юридическим языком, важно знать.
То, что яндекс-карты можно использовать только на сайтах и в мобильных приложениях, — неочевидно и зарыто в середине одного из трёх соглашений. А это, в отличие от многих других очевидных пунктов, написанных сложным юридическим языком, важно знать.
Поясните по пункту «2.3.2. Сервис может использоваться Пользователем только в рамках сайтов или мобильных приложений, доступных для бесплатного открытого использования неограниченным кругом лиц. Сервис не может использоваться для проектов, требующих оплаты, или иным образом ограничивающих доступ к ним третьих лиц. Необходимость зарегистрироваться не считается ограничением доступа в рамках настоящего пункта.»
могу ли я написать софт, для внутреннего использования внутри компании. например, ГИС своих магазинов, объектов, etc… ведь я предоставляю данный сервис только ограниченному кругу лиц., хоть и бесплатно, но только сотрудникам своей компании.
могу ли я написать софт, для внутреннего использования внутри компании. например, ГИС своих магазинов, объектов, etc… ведь я предоставляю данный сервис только ограниченному кругу лиц., хоть и бесплатно, но только сотрудникам своей компании.
Добрый день. Подобная реализация нарушает Пользовательское соглашение. Страница с картой долдна быть доступна для неограниченного круга третьих лиц.
Я не в коем случае не пытаюсь потроллить, действительно интересно.
Предположим мне нужно решить задачу описанную выше. Я беру, и на публично доступном сайте компании, на публично доступной странице все реализую, но страница находится по длинному и нечеловекопонятному урлу + закрыта от индексирования. Т.е. не зная урл — туда не попадешь.
Пойдет?
Предположим мне нужно решить задачу описанную выше. Я беру, и на публично доступном сайте компании, на публично доступной странице все реализую, но страница находится по длинному и нечеловекопонятному урлу + закрыта от индексирования. Т.е. не зная урл — туда не попадешь.
Пойдет?
Я ни в коем случае не пытаюсь потроллить. Но в Гражданском кодесексе есть понятие о доведении до всеобщего сведения.
а как связаны доступность и доведение? вот я, например, работая по публичной оферте, должен пускать в свой магазин всех желающих. Но я же не должен его нигде рекламировать.
К тому же, страницу всегда можно сделать и индексируемой, но с разным функционалом для разных пользователей.
К тому же, страницу всегда можно сделать и индексируемой, но с разным функционалом для разных пользователей.
Да, как только не извернутся лишь бы нарушить. чем вас OpenStreetMap не устраивает?
на заметку: требований к тому, чтобы страница была публично доступна нет — только к сайту.
Если вы будете использовать только внутри компении, а не продавать софт на сторону тысячам пользователей, то вероятность быть пойманным за руку пренебрежительно мала. Если совесть позволяет, то можно не париться.
Также вопрос по данному пункту пользовательского соглашения.
Получается в бэкэнде использовать яндекс.карты запрещено?
Опишу конкретный кейз:
Допустим я делаю раздел бэкэнда для сайта, например… управление списком точек продаж. Для удобства контентщику — я вставляю яндекс карты, с поиском, чтобы он тыкнул на карту и координаты зафиксировались.
Это бэкэнд, и он по определению имеет ограниченный доступ. Таким образом использование яндекс.карт нарушает данный пункт и формально я должен быть забанен?
Получается в бэкэнде использовать яндекс.карты запрещено?
Опишу конкретный кейз:
Допустим я делаю раздел бэкэнда для сайта, например… управление списком точек продаж. Для удобства контентщику — я вставляю яндекс карты, с поиском, чтобы он тыкнул на карту и координаты зафиксировались.
Это бэкэнд, и он по определению имеет ограниченный доступ. Таким образом использование яндекс.карт нарушает данный пункт и формально я должен быть забанен?
Да. Именно так. Вы правы.
Не подскажете, а Битрикс с вами на каких-то особенных условиях работает?
beta.hstor.org/files/449/af4/731/449af4731dbf40d7be9bce27178ab984.png
beta.hstor.org/files/449/af4/731/449af4731dbf40d7be9bce27178ab984.png
Битрикс

Боюсь те кто держит сайты с метками на карте сейчас повесились или пошли переводить админки к гуглу. Как можно модерировать метки без возможности их отображения на карте я плохо представляю.
Простой пример:
— есть сервис для обмена информацией между поставщиками и дистрибьютерами
— у каждого контрагента есть адреса складов/офисов/подразделений со схемами проезда
Вопрос: для модерации отметок на карте поставленных пользователем мне необходимо зайти под его учетной записью и проверять все с клиентской части сайта?
Или существуют иные программы лицензирования, кроме существующей бесплатной, и я это упускаю?
Простой пример:
— есть сервис для обмена информацией между поставщиками и дистрибьютерами
— у каждого контрагента есть адреса складов/офисов/подразделений со схемами проезда
Вопрос: для модерации отметок на карте поставленных пользователем мне необходимо зайти под его учетной записью и проверять все с клиентской части сайта?
Или существуют иные программы лицензирования, кроме существующей бесплатной, и я это упускаю?
Вы хотите чтобы ваше пользовательское соглашение читали? ОТлично — прикрепите к нему краткую выдержку с описанием основных моментов нормальнычм человеческим языком.
Как минимум пользователь увидит общую картинку и если уже возникнут вопросы — полезет детально читать конкретный пункт соглашения.
Моей жизни(как и большинства людей) не хватит чтобы детально прочитать все соглашения с которыми приходится иметь дело.
Да и ладно прочитать. Понять юридический язык призванный затыкать все лазейки стоит весьма не малых затрат времени и сил, особенно у людей далеких от юриспуреднции.
Отдельный способ, который позволит значительно улучшить восприятие пользователями лицензионного соглашения — это интерактивный тест.
К примеру вот тест для публикации в AppStore:
www.makayama.com/checklist.html
Хотите чтобы пользователи читали соглашение? Нет проблем, сделайте его удобочитаемым.
Как минимум пользователь увидит общую картинку и если уже возникнут вопросы — полезет детально читать конкретный пункт соглашения.
Моей жизни(как и большинства людей) не хватит чтобы детально прочитать все соглашения с которыми приходится иметь дело.
Да и ладно прочитать. Понять юридический язык призванный затыкать все лазейки стоит весьма не малых затрат времени и сил, особенно у людей далеких от юриспуреднции.
Отдельный способ, который позволит значительно улучшить восприятие пользователями лицензионного соглашения — это интерактивный тест.
К примеру вот тест для публикации в AppStore:
www.makayama.com/checklist.html
Хотите чтобы пользователи читали соглашение? Нет проблем, сделайте его удобочитаемым.
Типа «Хотите чтобы УК соблюдался — расклейте по улицам демотиваторы с основными статьями, эти тома никто в здравом уме не осилит.»?
Именно так.
Поэтому основные законы доносят родители в начале жизни ребенка.
Также в школах проходят основы ПДД и других законов.
Мало того, ГИБДД регулярно пишет разъяснения по ПДД, в том числе в картинках:
www.kolesa.ru/article/2012/04/20/gibdd_govorit_pokazyvaet_i_shtrafuet
Странно, что у Вас это удивляет. Это нормальный подход, когда цель донести информацию, а не запутать в юридических терминах.
Ну и да, сколько Вы знаете людей, которые читали УК целиком? Вы сами читали?
Поэтому основные законы доносят родители в начале жизни ребенка.
Также в школах проходят основы ПДД и других законов.
Мало того, ГИБДД регулярно пишет разъяснения по ПДД, в том числе в картинках:
www.kolesa.ru/article/2012/04/20/gibdd_govorit_pokazyvaet_i_shtrafuet
Странно, что у Вас это удивляет. Это нормальный подход, когда цель донести информацию, а не запутать в юридических терминах.
Ну и да, сколько Вы знаете людей, которые читали УК целиком? Вы сами читали?
С радостью сделаю это в виде статьи для начала. Спасибо за идею.
2.3.7.3. Создавать на основе Сервиса системы мониторинга транспортных средств, отображающих информацию в реальном времени, и любые другие услуги, связанные с управлением и диспетчеризацией транспортных средств.
Вот иногда такое ощущение, что юридический язык используют не для того, что бы добиться однозначности, а для того… ну просто положено так писать и все.
Вот создам я сервис на основе собственного программного кода, в котором буду использовать карты для отображения, пусть и в реальном времени. И что? Как это соотносится с указанным пунктом?
Как я написала выше, мы попросим документаторов подготовить более «человекочитаемые» выдержки из пс.
и я даже боюсь спросить, а не входят ли варианты использования описанные у вас вот тут api.yandex.ru/maps/solutions/?p=shop в противоречие с 2.3.7.3 если вдруг курьер, посмотревший адрес, внезапно сел за руль?
Нет не входят :)
это вы так сказали, или из текста так следует? Потому что у меня курьеры на автомобилях, наряды я им формирую исходя из заказов. То есть фактически именно карта формирует наряд, а значит участвует в диспетчеризации.
Ваш сервис на основе вашего кода будет использовать API для отображения. Использовать отдельно карты (то есть тайлы) нельзя согласно пункту 2.3.3. Пользователь может использовать Данные и функции, полученные при помощи Сервиса, только в рамках функциональности, предоставляемой Сервисом.
Почему на яндекс картах названия стран либо подписаны бледно и мелко либо вообще в большинстве масштабов отсутствуют? А также почему очень невнятно обозначены границы между странами?
Приходиться запускать гугловские там хоть с этим и есть проблемы, но по сравнению с яндекс картами небо и земля.
Приходиться запускать гугловские там хоть с этим и есть проблемы, но по сравнению с яндекс картами небо и земля.
Вообще любая библиотека или модуль должны быть понятны интуитивно, а идеальный API не должен требовать навыков программирования.
Абсолютно согласен с этим утверждением. Где-то год назад довелось работать с VK API, и я 3 дня потратил чтобы выполнить кроссдоменный запрос на javascript. Конечно, мои знания на тот момент оставляли желать лучшего, но даже сейчас я понимаю что с моими нынешними знаниями это было бы сложно
2.3.7.4. Создавать на основе Сервиса игровые проекты или приложения
имеется в виду игровые приложения или вообще любые приложения (в том числе не взывающие плату и не ограничивающие доступ к картам)?
Имеются в виду игровые приложения
Вот опять. Почему «имеется в виду» а не написано явно. Что мешает сказать «игровые проекты или игровые приложения». Поймите правильно. У вас имеется в виду, а нам, как пользователям, с этим работать. И когда речь заходит о вариантах применения, чуть более сложных, чем «как проехать», пограничные варианты всплывают постоянно.
Нигде не нашел описания апгрейда с 2.0 на 2.1. В документации есть описание перехода 1.1 -> 2.1, которое мне совсем не подходит.
Такое описание действительно нужно, потому что есть несовместимые изменения, например, пресеты точек на карте теперь называются не 'twirl#darkgreenIcon' a 'islands#darkgreenIcon'
Такое описание действительно нужно, потому что есть несовместимые изменения, например, пресеты точек на карте теперь называются не 'twirl#darkgreenIcon' a 'islands#darkgreenIcon'
Ну а если мне надо тупо сделать карту фестиваля для публичного её размещения. Обозначить десяток объектов и подписать их. Мне обязательно надо учить ява-скрипт? Что помешало реализовать подписанные маркеры в конструкторе карт?
Sign up to leave a comment.
Вредные советы от создателей API Яндекс.Карт. Как сделать так, чтобы всё было плохо