Яндекс-карты: примеры работы с API 2.0


Несколько простых примеров работы с Yandex-картами в версии API 2.0. Самые элементарные действия. Прокладка маршрутов. Прямое геокодирование. Принципиально другой подход к работе с объектом карты.

 

Не вдаваясь в теории, совсем кратко опишу отличия: Почти все публикации на ИС, касающиеся работы с Яндекс-картами, основаны на использовании API 1.X, для которой требуется ключ доступа и которая, по нынешним меркам и утверждениям самих разработчиков, устарела. Поэтому за основу я взял актуальную версию 2.0, к тому же не требующую никаких ключей и регистраций, обладающую гораздо более широкими возможностями. Кроме того, представлен другой подход к работе с самой картой. Ранее представленные механизмы были основаны на принципе создания html-текста, который сразу формировался с учётом всех потребностей и, таким образом, для изменения поведения карты требовалось новое формирование этого исходного текста и перезагрузка его в окно встроенного браузера. Это более времяёмко и ресурсоёмко, громоздко и менее гибко. Я заложил в текст исходного html-текста только самые основные параметры-шаблоны (хотя и это может быть универсализировано), а функционал основан на заложенных в тексте js-функциях, которые по мере надобности вызываются из контекста клиента 1С.

Напоминаю, что, согласно Пользовательскому соглашению (http://legal.yandex.ru/maps_api/) и конкретно п.2.3.2, промышленное использование Yandex API в 1С фактически запрещено, и поэтому позиционирую публикацию как примеры для ознакомления, и не более того.

Примеры сведены в обработку, позволяющую наглядно ознакомиться с несколькими простейшими операциями в картах Яндекс. Просьба особо не плюсить, т.к. уровень знания javascript у меня ниже плинтуса, а именно он требуется для задачи в первую очередь. Вопросы, пожелания и замечания приветствуются — будет интересно «выжать» из такого подхода максимум. 

UPD: добавил отслеживание событий с относительно управлямой подпиской на них. Всё очень грубо и без использования нормальных возможностей коллекции events на стороне js. Действие показано на примере определения координат места, куда щёлкнул пользователь. Ещё добавил кнопку удаления (скрытия) баллунов и меток.

UPD: добавил прямое геокодирование. Всё-таки захотелось сделать нормальное синхронное множественное геокодирование, по списку строковых адресов получаем их координаты.

UPD: добавлено создание многоугольников, в т.ч. с изменяемой геометрией (включённым режимом редактирования), заодно приведён пример конвертации цвета из RGB в Hex, чего сама 1С не умеет.

 

 

 

 

 

83 Comments

  1. Al-77

    Ужасный синтаксис. Название переменных вообще поражают. А за все остальное большое спасибо.

    Reply
  2. Al-77

    Не подскажите . я смотрю вы передаете com объекты. попытался передать массив у меня не чего не вышло. не подскажите как быть?

    Reply
  3. CagoBHuK

    http://infostart.ru/public/90737/ — правда на Гугле.

    Reply
  4. mzelensky

    (4) так она платная 🙁

    Reply
  5. Yashazz

    (1) Чем же «ужасный»? Отсутствием пробелов? 🙂 И если не секрет, что поражает в названиях? 🙂

    (2) Попробую завтра выслать.

    (3) Массив передавать не пробовал; в качестве грубого решения могу посоветовать сделать функцию, в которую передаётся по 1 аргументу, вызвать сколько надо раз, а массив пусть сразу рождается на стороне js.

    (4) Не поверите, я все имеющиеся обработки ИС внимательно посмотрел. 🙂 Правда, уже после своей публикации наткнулся-таки на один случай, клиентская карта на API 2.0, а остальное всё старьё, причём, что забавно, почти все «навороченные» разработки базируются на http://infostart.ru/public/98156/ (перекопипащивалось всё, вплоть до опечаток).

    Reply
  6. mzelensky

    я довльно много обработок с картами перебрал, но нужного решения так и не нашел. Мне нужно чтобы пользователь ткнул в карту (грубо говоря метку поставил), а ему (в какой-то реквизит обработки) вернулся АДРЕС этой точки.

    Reply
  7. Yashazz

    (7) Могу завтра сделать.

    Reply
  8. Al-77

    (1) Я не хочу продолжать спор. я возьму свои слова обратно.

    (3) Я из 1С передаю массив для построение полигона, к сожалению так и не смог его обработать на стороне явы, не хочет перебираться. Пришлось передовать строку и парсить ее. Почти переписал свою обработку на новый подход, очень порадовал меня, еще раз большое спасибо за пример.

    Reply
  9. Fenicss

    Очень удобная вещь для отслеживания торговых

    Reply
  10. Yashazz

    (7) Сделал. Надо включить отслеживание событий, потом по факту эти события перехватываются и читаются координаты. Грубо, конечно, надо бы через events на стороне скрипта.

    (9) Я бы сделал так: сначала myArray=[]; потом function AddToArray(myArray,myElement) {myArray[myArray.length]=myElement} и дёргал эту функцию бы в цикле со стороны 1С. А потом перебрал бы так: for(var i in myArray) {// некое действие с элементом myArray[i]}

    Или, посмотрите, как я компоную объект (это в данном случае почти как и для массива), передаваемый к прокладке маршрута — делаю строку и исполняю на js функцией eval.

    Reply
  11. mzelensky

    (11) Скинь сюда плиз: zel_maks@mail.ru

    Reply
  12. Yashazz

    Всё-таки не удержался, добавил множественное прямое геокодирование. Просто как пример, как можно извратными средствами обработать асинхронные вызовы js promise. Надеюсь, кому-нибудь пригодится.

    Reply
  13. yandextesting

    возможно ли организовать прокладку маршрута для пешехода? и получить примерную длину этого маршрута и время его прохождения?

    Reply
  14. Yashazz

    (14) Насколько знаю, специализированной прокладки маршрутов для пешеходов Яндекс-карты не делали. Единственное, что они советуют, процитирую: «Однако, время = расстояние / скорость. Расстояние между двумя точками Вы можете узнать с помощью метода distance() класса YMaps.GeoPoint.» — т.е. можно задействовать ту же механику, но с меньшей скоростью. Может быть, этот вариант подойдёт?

    Reply
  15. yandextesting

    (15) такой вариант вряд ли подойдет — пешеход все же по дорогам (тротуарам) ходит, а не сквозь дома, если брать расстояние напрямую:) , да и не по автомобильному маршруту он пойдет, а закоулками-переулками без учета «кирпичей» и «встречки»… Спасибо за ответ.

    Reply
  16. elit

    А можно как то реализовать что бы балуны нельзя было двигать мышкой!? Спасибо!

    Reply
  17. Yashazz

    (17) Да, элементарно. В исходном js-коде (макет «Исходный код») поменяйте параметр «draggable» в функциях AddSimplePoint, AddTextPoint (ну и вообще, где надо) — вместо draggable: true надо, соответственно, draggable: false. И всё.

    Reply
  18. elit

    Подскажите пожалуйста как сделать процедуру/функцию удаления всех меткиБалунов с карты (очистить карту)? Спасибо

    Reply
  19. Yashazz

    (19) Тут по-разному можно. Если это именно баллун — тогда через метод Hide (он в обработке есть), а если это метки — можно сбросить им свойство Visible. Если они добавлены в коллекцию показываемых геообъектов — их можно удалить оттуда через map.geoObjects.Remove(myMark). Это я вроде тоже сделал, нэ?

    Не уверен, сработает ли в браузере 1С такой код: map.geoObjects.each(function(gOb) {gOb.Visible=false}), но можно попробовать. Разумеется, с проверкой, является ли «gOb» меткой, а то можно всякие другие объекты карты заодно зацепить).

    Reply
  20. elit

    Спасибо !

    Reply
  21. vladzem

    Просьба выслать обработку Яндекс-карты: примеры работы с API 2.0 на адрес prog@sirobogatov.ru

    Reply
  22. Sheff
    Я бы сделал так: сначала myArray=[]; потом function AddToArray(myArray,myElement) {myArray[myArray.length]=myElement} и дёргал эту функцию бы в цикле со стороны 1С. А потом перебрал бы так: for(var i in myArray) {// некое действие с элементом myArray[i]}

    Значит «напрямую» всётаки нельзя передать массив?

    Reply
  23. vik123

    Добрый день! Не могу скачать Вашу обработку… Но очень хочется посмотреть))) Можете поделиться?

    vik-k@mail.ru

    Reply
  24. elit

    Ещё не хватает функции удаления маршрута/маршрутов. Может добавите?

    Reply
  25. gep

    Вопрос ко всем — а как с печатью? Сделал подобное, но мне нужно еще и распечатывать результат. Может у кого есть наработки?

    Reply
  26. Yashazz

    (24) Не помню, отправлял Вам или нет?

    (25) Посмотрим. Будет свободная минутка — добавлю.

    (26) А что мешает распечатать прямо сам HTML-документ? Или, выдрать из него нужный элемент, загнать в отдельно сделанный хтмл, да и на печать?

    Reply
  27. gep

    (27) Ну как бы… Вы пробовали? Именно на 2-м апи? У меня печатается только слова «Яндекс Лицензионное соглашение», а самой карты нет. Если делать на апи 1.х то все нормально печатается.

    Выдрать картинку-слой самой карты. Ну наверное да — можно. Но меток на ней не будет. Они в дрогом слое. И это торгда сводить вместе как-то. Наверное возможно (Точно возможно ведь на самих ЯК печать есть), но как и насколько просто …

    Reply
  28. Yashazz

    (28) Упс, я как раз на 1.Х пробовал печатать. Мдя, надо подумать. Интересная задачка, покопаюсь.

    Reply
  29. ak0710

    Добрый День! , у меня на карте такая ошибка выходит, скачал вашу у вас тоже также, никак не могу разобраться , записываю код html и открываю его в хроме , или ИЕ все работает нормально , а ПолеHTMLДокумента нет

    Reply
  30. ak0710

    (30) ak0710, я решил проблему, требовалось записать сначала во временный файл весь документ , потом из поле хтмл документа воспользоваться методом перейти, ошибка не появляется

    Reply
  31. vadimlp77

    Подксажите, пожалуйста, к ак передать паарметры, а именно координаты вершин многоугольника в функцию из 1С: «ЭлементыФормы.ПолеКарты.Документ.parentWindow.CreateAnyPolygon(рКарта,стрГеокодировать,рЦветФона,рЦветРамки,рТолщина);»

    я передаю строку типа «[[[50.01, 30.01],[50.20, 30.20],[50.01, 30.01]]]» — ничего не происходит, многоугольник не рисуется, а если такую же строку прописываю жестко в html коде:

    myGeometry = {

    type: ‘Polygon’,

    coordinates: [[[50.01, 30.01],[50.20, 30.20],[50.01, 30.01]]]

    },

    — всё работает.

    Что передавать в качестве параметра (вершины многоугольника) из 1с ????

    Reply
  32. Mudrii_Gankster

    Добрый день друзья,подскажите, можно ли добавить метки на карту и произвести масштабирование таким образом, чтобы все метки попали в область видимость. Перерыв яндекс апи но не нашел информации.

    Reply
  33. Kuklachel

    (11) Добрый день. Уважаемый Yashazz, не могли бы Вы скинуть свою обработку на lou-bega@list.ru Заранее благодарю.

    Reply
  34. ak0710

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

    Reply
  35. Sweetlane

    Yashazz, Добрый день. Можно взглянуть на вашу работу? sv-k@live.ru Заранее большое спасибо.

    Reply
  36. shevelkin

    Yashazz, буду очень признателен, если Вы скинете обработку на shevelkin@pisem.net

    Reply
  37. Yashazz

    (36) Так вам скидывать или нет? Файл, судя по надписи, Вы уже скачали.

    Reply
  38. KillHunter

    классная публикация, давно хотел чтото такое увязать 🙂

    Reply
  39. Vanch90

    для 8.1 есть?

    Reply
  40. MICK77

    А возможно ли выводить несколько карт на печатный лист по примеру вот этой разработки?

    т.е несколько адресов -> сотвественно выводится несколько кусков карты с точками адресов.

    Reply
  41. Yashazz

    (40) Это элементарно даунгрейдится в 8.1, просто копипастом всего и вся. Всё должно работать.

    Reply
  42. OrsoBear

    Спасибо, как раз начал осваивать эту сферу.

    Для разбора примеров самое оно!

    Reply
  43. Algiz

    Как прокладывается маршрут между 3 и более точками?

    Reply
  44. Yashazz

    (44) В каком смысле? Точки, между которыми должен быть маршрут, вносятся в таблицу значений, и от порядка в этой таблице всё и зависит. От первой ко второй, далее к третьей итд. А если вы о математико-графической модели, лучше у самих яндексовцев спросить.

    (29) С печатью — кирдык. В API её как таковой нет, разработчики Яндекса честно признаются, что и свою-то штатную печать делали весьма тяжко и извратно, и что готовых решений нет. Скидывать всё в static API, разве что.

    Для себя сделал грубо, просто, но с нарушением лицензионного соглашения (ну, для эксперимента-то можно) — я банально вывожу карту в её текущем состоянии на форму, с которой программно лепится скриншот, и дальше в mxl и айда. Другие пути ещё более кривые.

    Reply
  45. Algiz

    (45) Т.е. маршрут строиться по порядку из таблицы. Никакой отптимальности нету, я так понимаю? Просто сейчас работаю над этим, и было бы интересно посмотреть что-то про оптимально-построенный маршрут.

    Reply
  46. Yashazz

    (46) А, вы в смысле оптимальности путей между точками, как вершинами графа? Это уже «задача коммивояжёра», что не было предметом публикации. Поищите решения этой задачи для случаев оптимизации расстояния, повторых посещений и прочая.

    Reply
  47. Aspirant

    Можно ли выделить несколько флажков и передать в 1С их координаты (лучше адрес дома)?

    Вышлите пожалуйста на magefred@mail.ru обработку, очень хочется ее потестить

    Reply
  48. Yashazz

    (48) Не совсем понял, как «выделить». Каким образом флажки появились на карте изначально?

    Reply
  49. Aspirant

    Из 1с построили их

    Reply
  50. Yashazz

    В смысле, было геокодирование? Тогда читаются результаты этого геокодирования из массива, и всё. Я не морочился с жёсткой идентификацией, поэтому точки-метки идут строго по порядку, по какому геокодировались.

    Reply
  51. Aspirant

    Из 1с строятся флажки на карте по нескольким адресам.

    В первую очередь интересует можно ли получить от карты адреса по выделенным флажками домам:

    Сначала к примеру отправляем список с 10 – адресами, на карте должны появиться флажки по этим адресам,

    затем мышкой выделяем 4 флажка и нужно получить обратно от карты адреса этих выделенных флажков.

    Reply
  52. OrsoBear

    Та же проблема, решений на форуме больше, чем баллов, как доберу, скачаю.

    А так очень полезная разработка.

    Как уже кто-то заметил, на основе Вашего творения появились новые примеры, с теми же ошибками и той же стилистикой оформления 🙂

    Reply
  53. Yashazz

    (53) Ошибки на бочку, прям сюда. Бум исправлять!

    Reply
  54. plastilin

    Есть возможность определения административных округов Москвы?

    Reply
  55. Yashazz

    (55) А у самого-то Яндекса такая возможность есть? Если они её в API запихнули, то, думаю, можно, а иначе — вряд ли.

    Ну так что, есть зафиксированные баги? С удовольствием исправлю, мне ещё эту механику самому юзать )))

    Reply
  56. Светлый ум

    Почему в маршруте балуны не подписаны: 1,2,3 — хотя бы. Я к тому, что нарисовать маршрут это одно, а проиндексировать точки это по труднее будет.

    В обработке есть индексация точек маршрута?

    Reply
  57. BenGunn

    (55) plastilin, У яндекса есть сервис «Регионы«. Но сервис базируется на OpenStreetMap и предоставляют доступ только к регионом стран (Россия, Украина и т.п.).

    Reply
  58. BenGunn

    (30) В html добавляете:

    <sc ript src=»http://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU» type=»text/javascript»></sc ript>
    
    <sc ript type=»text/javascript»>
    
    function errorHandler(msg){return true;}
    window.on error=errorHandler;
    ….
    ваш код
    ….
    
    </sc ript>

    Показать

    ***) Работает фильтр javascript’ов чтобы исключить XSS атаки (так мне сказали в техподдержке), поэтому «критичные слова» разбиты на части. Так, «sc ript» — это «script», «window.on error» — это «window.onerror».

    Reply
  59. BenGunn

    Автору спасибо за идею. Продолжил работу с API2. Вот мой пример.

    (7) С опозданием, конечно… Здесь вопрос «кликнул по карте — получил адрес» решен

    Reply
  60. Yashazz

    (57) В какой-то из своих узкоспециальных обработок на основе этой — да, есть. Странно, что в выложенной версии ещё нету, упустил, видать. Но там можно просто по порядку, или в eval передавать ещё массив надписей к баллунам, и тогда по его индексу будет брать в цикле нужное название.

    А вообще, что-то мне Гугл-карты в последнее время нравятся больше. Геокодирование у них однозначнее. У Яндекса ведь как — задаёшь ему «улица Пупыркина, дом.666», он не-пойми-куда ставит маркер. Последний раз вообще в Баварию куда-то уехал, я еле нашёл. А у Гугла в этом случае ставит в геоцентр населённого пункта, в случае Мск это Кремль с чётко заданными координатами. Хоть можно понять, что геокодинг не удался.

    Reply
  61. StaticUnsafe

    Спасибо. Очень интересно.

    Reply
  62. maxx

    Подскажите, а можно ли на карте выделить зону(прямогольник) или провести отрезки (маршрут) и затем получить координаты этих точек?

    Reply
  63. KillHunter

    можно через яндекс карты на ява скрипте:

    ymaps.ready(init);

    var myMap, myGeoObject, myRectangle;

    function init () {

    myMap = new ymaps.Map(‘map’, {

    center: [55.674, 37.601],

    zoom: 11

    });

    // Cоздаем геообъект с типом геометрии «прямоугольник».

    myGeoObject = new ymaps.GeoObject({

    // Геометрия = тип геометрии + координаты геообъекта.

    geometry: {

    // Тип геометрии — прямоугольник.

    type: ‘Rectangle’,

    // Координаты.

    coordinates: [

    [55.665, 37.66],

    [55.64, 37.53]

    ]

    },

    // Свойства.

    properties: {

    hintContent: ‘Перетащи меня!’,

    balloonContent: ‘Прямоугольник 2’

    }

    }, {

    // Опции.

    // Объект можно перетаскивать.

    draggable: true,

    // Цвет и прозрачность заливки.

    fillColor: ‘#ffff0022’,

    // Цвет и прозрачность границ.

    strokeColor: ‘#3caa3c88’,

    // Ширина линии.

    strokeWidth: 7

    });

    // Создаем прямоугольник с помощью вспомогательного класса.

    myRectangle = new ymaps.Rectangle([

    // Задаем координаты диагональных углов прямоугольника.

    [55.66, 37.60],

    [55.71, 37.69]

    ], {

    //Свойства

    hintContent: ‘Меня перетаскивать нельзя!’,

    balloonContent: ‘Прямоугольник 1’

    }, {

    // Опции.

    // Цвет и прозрачность заливки.

    fillColor: ‘#7df9ff33’,

    // Дополнительная прозрачность заливки..

    // Итоговая прозрачность будет не #33(0.2), а 0.1(0.2*0.5).

    fillOpacity: 0.5,

    // Цвет обводки.

    strokeColor: ‘#0000FF’,

    // Прозрачность обводки.

    strokeOpacity: 0.5,

    // Ширина линии.

    strokeWidth: 2,

    // Радиус скругления углов.

    // Данная опция принимается только прямоугольником.

    borderRadius: 6

    });

    myMap.geoObjects

    .add(myRectangle)

    .add(myGeoObject);

    }

    Reply
  64. Al-77

    Не кто не догнал как сделать растягивания карты при растягивании формы?

    Reply
  65. Yashazz

    (65) Растягивание — в смысле, увеличение размеров рабочего окна? Наверное, можно менять свойства этого контейнера при каком-либо событии от 1С…

    Reply
  66. Al-77

    (66) Да именно. пробовал но, что то у меня не вышло. буду пробовать дальше. где то читал не у одного меня такая проблема.

    Reply
  67. BenGunn
    <!DO CTYPE html PUBLIC «-//W3C//DTD XHTML 1.0 Transitional//EN» «http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd»>
    <ht ml xmlns=»http://www.w3.org/1999/xhtml»>
    <head>
    
    Здесь твои скрипты по карте……
    
    <st yle type=»text/css»>
    html, body{
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    }
    body{-moz-user-select:none;}
    </style>
    
    </head>
    
    <body scroll=»no»>
    <div id=»map» style=»width:100%;height:100%;»></div>
    </body>
    
    </html>
    

    Показать

    Срабатывает защита…. уточняю:

    ….scroll=»no»

    ….style=»width:100%;height:100%;»

    Reply
  68. KillHunter

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

    Reply
  69. Vanch90

    у меня так и не заработало нормально

    Reply
  70. Vanch90

    Ну так что?

    Reply
  71. Sheff

    (71) Vanch90, ну так что что?

    Reply
  72. Rustavelli

    Здравствуйте! помогите с проблемой, не растягивается иконка метки, что в скрипте не так?

    <!DOCTYPE html>

    <html >

    <head>

    <meta http-equiv=»content-type» content=»text/html; charset=utf-8″/>

    <script src=»http://api-maps.yandex.ru/2.1-dev/?lang=ru-RU&load=package.full»» type=»»text/javascript»></script>

    <script type=»text/javascript»>

    //убираем глюк встроенного в платформу браузера: ошибка сценария Script error при повторном отрытии окна

    window.onerror = myOnError;

    function myOnError(msg, url, lno) {return true}

    var myMap;

    ymaps.ready(function ()

    {

    myMap = new ymaps.Map(‘YMapsID’,

    {

    center:[//Здесь добавим текущие координаты],

    zoom:12,

    controls: [‘geolocationControl’, ‘typeSelector’, ‘trafficControl’]

    });

    myPlacemark0 = new ymaps.Placemark(

    [41.26954, 69.366503],

    {iconContent: ’18:37′},

    {preset: ‘twirl#redStretchyIcon’});

    myMap.geoObjects.add(myPlacemark0);

    });

    </script>

    <style type=»text/css»>

    html, body {

    width: 100%;

    height: 100%;

    }

    </style>

    </head>

    <body>

    <div id=»YMapsID» style=»width:100%;height:100%;»</div>

    </body>

    </html>

    Показать

    Reply
  73. zoytsa

    Обработка класс!

    Ребят, не подскажите, как изменить рисунок метки на карте?

    Спасибо! 🙂

    Reply
  74. ilov_boris

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

    Reply
  75. Yashazz

    (75) ilov_boris, это твои маленькие проблемы, ага. Есть что сказать конкретно — давай, высказывай в личку или по теме, а озвучивать свои кишечные трудности — не на ИС. Тут люди дело делают, вообще-то.

    Reply
  76. ilov_boris

    (76) «Тут люди дело делают, вообще-то.»

    Да вы занимайтесь чем хотите… В паблик свои дела только не выкладывайте.

    Reply
  77. ilov_boris

    (76) Ладно, чувак, приношу публично свои извинения. Не серчай.

    Из беседы в личке я понял, что человек ты адекватный, но писать таки старайся аккуратнее.

    Это ж паблик. По публичному коду судят о всех одинэсниках.

    Reply
  78. Yashazz

    (78) Ладно, проехали. В свою очередь, извиняюсь за специфический стиль кода (это я так эффект цопирайта типа делаю), и за недостаточные комментарии; также, готов рассматривать претензии по структурированности и логике кода. Ну и если кто нарыл ошибку или лажу, обязательно сообщайте, плиз.

    Reply
  79. gfoods

    Решение проблемы с растягиванием карты на все HTML поле:

    </script>
    
    <style type=»text/css»>
    html, body{
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    }
    body{-moz-user-select:none;}
    
    #OurYMap {
    width:100%;
    height:100%;
    }
    </style>
    
    
    </head>
    

    Показать

    Reply
  80. Free_Danial

    Спасибо доброму человеку за очередную полезную публикацию

    Reply
  81. tonic

    Добрый день.

    Выходит ошибка : Ошибка при получении глобальной переменной OurYandexMap; возможно, переменная не инициализирована!

    В чем может быть дело?

    Reply
  82. BenGunn

    API менялся, а я под новый ничего не делал. Если актуально, пиши в личку

    Reply
  83. Locksar

    Добрый день!

    Прошу автора написать на почту locksar86@yandex.ru

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *