Ресурс для популяризации OSM+OpenLayers в Рунете

Общеизвестный факт, что популярность OSM в Интернете растет как по причине широких возможностей, так и по причине отсутствия лицензионных ограничений в использовании.
Однако, несмотря на столь универсальный инструмент у OSM довольно высокий начальный “порог вступления” для навыков пользователя, требующего от разработчика не только знание навыков программирования, но и геодезии, а также более уверенного владения английским языком ибо в Интернет описаний и примеров использования OSM и особенно OpenLayers на русском языке крайне мало по сравнению с Google Maps и Яндекс.Карты.

Поэтому в целях развития и популяризации OSM+OL в РФ и СНГ предлагается создать ресурс, содержащий в себе подробное описание простым и доступным русским языком OSM и особенно OpenLayers и что самое главное - подкрепленное практическим опытом разработчиков в этой области и их примерами использования начиная с самых простейших. Чтобы было от чего отталкиваться предлагается взять за основу составления мануала и примеров по опыту Яндекса и Google чтобы любой даже начинающий программер мог почитав данный ресурс уже сразу начинать создавать свои собственные проекты, что в свою очередь повысит интенсивность внесения исправлений и пополнения самих объектов на OSM. Ведь самый большой “тормоз” в широком использовании технологии - это отсутствие примеров практического опыта в данной области и простым перечислением классов, методов и свойств тут не обойтись.

Когда я впервые столкнулся с необходимостью использования OSM+OL то не мог не заметить многочисленные примеры совместного использования OSM+Google API, что несколько настораживает ибо Google API не является полностью свободным, что применяется например в проектах bus13.ru bus62.ru bus23.ru и других.

Отдельно отмечу заслугу практически единственного русскоязычного ресурса gis-lab.info содержащего ряд статей по использованию OSM, однако специфика геодезич направленности материалов сайта не позволяет ответить на более широкий круг использования OSM+OL.

PS Уважаемые опытные разработчики, заранее прошу вас не бросаться комментариями вроде “google вам в помощь” или “в API openlayers все уже есть давно и с примерами” или “там все просто делается” и т.п. Я вас очень прошу вспомнить то время когда вы впервые начали пользоваться OSM+OL и какие трудности при этом у вас возникали, соответственно предлагается поделиться этим опытом с общественностью, тем более что и лицензия использования такова. Ваш вклад в общее дело разумеется не будет анонимным и если есть реальное желание помочь, то уже можно начать как минимум этим топиком форума для постинга примеров использования на всякие примитивные, популярные и сложные примеры использования данного API OL. Если же заинтересованных лиц наберется достаточно, то также при поддержке пользователей с Хабра выделим отдельный ресурс под данную задачу на благо сообщества в Рунете.

PPS Приветствуются примеры аля “схема проезда”, “карта размещения метро, банкоматов, офисов” и т.п. часто необходимые бизнесу и частникам примеры использования с подробным описанием.

Еще раз спасибо всем, кто дочитал сей пост до конца :wink:

геодезическая направленность, хмм? напишите пару статей про OSM+OL, опубликуем без проблем

+100 к топик стартеру, с OL разобраться времени надо, нужны готовые примеры как в известных аналогах карт, они этим обходят нас :frowning:

Заходишь на сайт openlayers, жмякаешь на кнопку examples и получаешь туеву хучу примеров, отсортированных по категориям и с тегами. И с поиском по тегам.
Если набрать в гугле openlayers вторая ссылка будет вести на эти примеры.

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

Ну вот, понеслась, просил же

Если бы у меня была цель просто написать пару статей и все, то воспользовался бы своим личным сайтом или Хабром - мне так проще было бы.
Для того, чтобы найти информацию по OSM/OpenStreetMap/OpenLayers пользовался следующими поисковыми запросами по сайту:
http://gis-lab.info/scripts/search.cgi?q=OSM&cmd=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA%21
http://gis-lab.info/scripts/search.cgi?q=OpenStreetMap&cmd=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA%21
http://gis-lab.info/scripts/search.cgi?q=OpenLayers&cmd=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA%21

PS Народ, вы так и хотите, чтобы технологии OSM+OL так и оставались уделом малого числа спецов и все также была недоступна для остальных?
PPS Хотяб в этом топике выложили куски рабочего кода для начинающих или ссылки на них. Сайт openlayers итак посмотрели уже давно.

Тем, кто собирается спорить с топикстартером, рекомендую прочитать этот и этот треды в обсуждении «недостатков» OL на хабре (предыстория), и не разводить флейм.

SSar, читайте вики, там всё есть. И найдите у своего браузера, наконец, кнопку «показать исходный код страницы».

Неужто так сложно предположить(хотяб по времени), что эти ссылки уже были прочитаны ПРЕЖДЕ чем писать здесь - это и wiki и http://dev.openlayers.org/releases/OpenLayers-2.10/examples/.
Прямые ответы не получены, зато пересылок с ресурса на ресурс весьма немало.
“Просмотр исходного кода страницы” активно юзаю уже более 5 лет, т.е. Америку не открыли.
PS Помнится было к весьма непросто найти пример с элементарным балуном по клику на маркере и отрисовкой трека - вы вот например каким примером пользовались за основу в данном случае?
Вариант с загрузкой из txt или gpx файлов не предлагать, все необходимые данные берутся из базы сервиса(mysql), генерировать на лету GPX и загружать его - уже сделано, но то както не спортивно, а уж с POI(txt) и тем более.

Примеры там все достаточно запутанные, урезанные и не имеющие пояснений и документации. Да и порой такие не нужные. Я пролистал в своё время добрую половину из них, в итоге срезал коды OL с OSM.org и доволен.

Для тех, кто в танке, прошу пояснить, о чем речь? У Вас есть готовые примеры и Вы обсуждаете вопрос, куда их выложить? Или примеров нет и Вам нужны консультации, чтобы Вы их смогли написать? Или Вы можете написать любой заранее заданный пример, но спрашиваете, какие примеры нужны? Или?

Я лишь хочу иметь человеческую документацию ибо в OL нет того что есть в GM, YM. Я хочу этого же.

Я лишь пользователь, в js знания относительные, потому я хочу их видеть, раз об этом речь зашла.

Собственно тут пытаемся собрать с миру по нитке разнообразные рабочие примеры, документашку и прочие полезности для разработчиков OSM+OL на благо сообщества. Остальные ответы на ваши вопросы - в 1м посте топика.

Современный человек отличается от древнего грека умением мыслить абстрактно. Некоторые современные люди отличаются. В документации к OL есть все, разложенное по полочкам. Но если человек не понимает, что “схема проезда” - это “карта заданного участка местности” + “отображение полилинии на карте” то он просто не обладает абстрактным мышлением. Остается только ему посочувствовать и посоветовать нанять того, кто таким мышлением обладает.

То-бишь надо всё по русски для начала написать, хотя бы в той же вики перевести все страницы на русский и уже счастье будет :slight_smile:

Прям классика жанра:

  • Как сделать то-то и то-то?

  • Зачем?

  • Не надо делать так, делайте вот так.

  • Вы дурак. Как вообще пришла в голову мысль делать то, о чем вы спросили?

Уж перевод лейерсам точно не помешает. А те, кто считают что все, как 2 пальца об асфальт, приведите пример драгемых маркеров, отвечающих помимо драга, на клик и даблклик.

P.S. В принципе, документация (js doc имеется ввиду) у леерсов не хуже чем у гугла/яндекса. Примерам, не хватет описания как пример потом дотачивать под конкретные нужды.

Я не понимать, зачем для разработчиков переводить мануалы на русский. Они и так “обязаны” знать английский.

А как же молодые и не опытные? Люди же не обязаны свободно читать на инглиш.
По-русски текст воспринимается лучше. Одно дело теги тут, другое- их описание.
Или программистам книги писать исключительно кодом - примерами?

Молодые и неопытные недавно отучились в школах/институтах. Разве у нас английский стал необязательным предметом?

Вот мой первый вклад в ваше начинание.

Как-то вот так.


//посредством AJAX'a получаю данные с сервера 20 байт/точка
...
mesCount=data.length/20;
var lineArray=[];
var l=data.length;
var lastPoint=new OpenLayers.LonLat(0,0);
for(var i=0;i<mesCount;i++)
{
    var lonlat=getPointFromData(data.substr(l-(i+1)*20,20)); //функция getPointFromData расшифровывает данные и возвращает объект OpenLayers.LonLat
    if(lastPoint!=lonlat) //проверяю не совпадает ли точка с предыдущей
    {
        //если всё нормально, то добавляю точку в массив
        lastPoint=lonlat;
        lineArray[i]=new OpenLayers.Geometry.Point(lonlat.lon,lonlat.lat);
        //Рисую точку трека
        drawPoint(lonlat,"Одна из точек трека",iconVertex); 
    }
}
//Вывожу на экран готовый массив.
drawLine(lineArray);
...

function drawLine(pointsArray)
{
    var line=new OpenLayers.Geometry.LineString(pointsArray);
    var feature=new OpenLayers.Feature.Vector(line,null,trackLine);
    tracksLayot.addFeatures([feature]);
}

function drawPoint(point,text,icon)
{
    marker = new OpenLayers.Marker(point,icon.clone());
    feature = new OpenLayers.Feature(pointsLayot, point);
    feature.popupClass =  OpenLayers.Class(OpenLayers.Popup, {
        'autoSize': true,
        'maxSize': new OpenLayers.Size(200,200),
    });
    feature.data.popupContentHTML = text;

    marker.events.register("mouseover", feature, markerOver);
    marker.events.register("mouseout", feature, markerOut);

    pointsLayot.addMarker(marker);
}

По сути ничего сложного.

Знание англицкого конечно нужно и оч. хорошо. Но документация на крупные апи переведенная на родной, для разработчика, язык - очень хорошая практика, добавляющая любому продукту очков. Так что если есть желающие перевести вики по леерсам, думаю стоит только порадоваться и помочь. В одну каску не писанусь на такое, а присоедениться к кому-нибудь вполне могу.

И вообще что за пренебрежение родным языком.