Перестали работать Яндекс.Карты #765531


#0 by IdoL2k
В самописной системе был реализован механизм работы с Яндекс.Картами - отображение точек и маршрутов на карте, сохранение координат в 1С. В один прекрасный момент 16.02.2016 механизм перестал работать. На сайте Яндекс.Карт пишут, что было выполнено переключение ссылки api-maps.yandex.ru/2.0 и api-maps.yandex.ru/2.0-stable, которые теперь соответствуют версии 2.0.43. Но обращение к старшим версиям не помогает. Результат ошибочной работы заключается в том, что вместо отрисовки карты, вывода элементов управления и отображения точек, маршрутов, выполняется только отрисовка карты. Даже стандартные элементы управления не выводит. Воспроизвести ошибку получается следующим образом. Из песочницы можно экспортировать в файлы любой пример. В любом браузере этот пример открывается нормально. А вот в 1С в Поле HTML документа этот же файл отображается криво - только карта-подложка и все, никаких элементов управления. Собственно интересует что исправить нужно? Как восстановить работоспособность? Платформа: 8.3.7.1917, 8.3.6.1999. Режим: Управляемые формы, обычное приложение.
#1 by spock
Сделай так: <meta http-equiv="X-UA-Compatible" content="IE=9"></meta> и <script src="; дополнительно, но это не роялит: } где myOnLoad - отложенная инициализация карты. Яндекс не хочет поддерживать старые версии API. 2.0 должен был совсем давно отвалиться :)
#2 by IdoL2k
Спасибо! Помогло! Только нарисовалась новая проблема. В обработчике события ПриНажатии поля html документа у меня идет получение длинны маршрута. Вываливается ошибка получения метода eval: {ОбщаяФорма.ПрокладкаМаршрута.Форма}: Метод объекта не обнаружен (eval)     ДлинаМаршрута = Элементы.Карта.Документ.parentWindow.eval("routeLength")/1000;
#3 by IdoL2k
Как проверить, что в parentWindow попало то, что мне нужно? В отладчике там COMОбъект - не ясно что за ним скрывается
#4 by Широкий
Почему бы напрямую не обратится к функиии?
#5 by IdoL2k
У меня включается редактирование маршрута. Пользователь его правит, двигает точки. В итоге нужно получить длинну маршрута. Как то по другому я могу вызвать функцию routeLength?
#6 by IdoL2k
Проблему с функцией eval решил с помощью изменения режима отображения. Вместо "IE=9" поставил "IE=8"
#7 by spock
Не надо так:
#8 by Широкий
Элементы.Карта.Документ.parentWindow.routeLength/1000; Разве так не работает?
#9 by Широкий
У меня примерно так сделано:
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С