Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не работают гугл карты
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
SherifSP
Добрый вечер уважаемые, стоит задача вывести гугл карту на экран, ранее (2017г.) другим программистом был разработан участок вывода торговых точек на карту и прорисовка маршрутов, но с 2018 года когда гугл ввёл ограничения на количество просмотров карты обработка перестала работать. На данный момент получилось вывести карту в поле HTML документа, но прорисовать маркер на карте никак не получается, платформа выводит ошибку при попытке вызвать js функцию прописанную ранее в html документе. Ниже приведу пример вызова функции с выводом ошибки, буду признателен за помощь.

необходимо зарегистрироваться для просмотра ссылки
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)  // Перед открытием формы обработки заполним текст html документа вынесенного на форму 
    
    Макет = ЭтотОбъект.ПолучитьМакет("Макет");
    Документ = ЭлементыФормы.ПолеHTMLДокумента1.Document;    
    Документ.write(Макет.ПолучитьТекст());
    
КонецПроцедуры

Процедура ПолеHTMLДокумента1ДокументСформирован(Элемент)    
    
    Name = "Тест трт";
    Discr = "Хелетий";
    html="<strong>ТРТ: "+Name+"</strong.><br />"+"Контрагент: "+Discr+"<br />"+"Широта: "+Широта+"<br />"+"Долгота: "+Долгота;
    ЭлементыФормы.ПолеHTMLДокумента1.document.parentwindow.eval("setLetLng("+Формат(Широта,"ЧРД=.; ЧГ=0")+","+Формат(Долгота,"ЧРД=.; ЧГ=0")+",'"+"НоваяТРТ"+"','"+html+"')");

КонецПроцедуры


В последней строке кода ошибка следующего типа "Метод объекта не обнаружен eval".

Кусок кода с html документа
необходимо зарегистрироваться для просмотра ссылки
<html><head><title>Google maps API</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><!--Используем IE11, так как API поддерживает версии с 9 по 11 -->
<meta http-equiv="X-UA-Compatible" content="IE=11">
<meta name="GENERATOR" content="MSHTML 11.00.10570.1001">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<style>HTML {
    PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; HEIGHT: 100%; OVERFLOW: hidden; PADDING-TOP: 0px
}
BODY {
    PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; HEIGHT: 100%; OVERFLOW: hidden; PADDING-TOP: 0px
}
</style>

<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAuTy6WX9zVtq5R5NNJV02zQugosbVddKA" type="text/javascript"></script>
Vofka
А так?
ЭлементыФормы.ПолеHTMLДокумента1.Document.eval(...);
29a
Цитата(SherifSP @ 23.12.20, 21:00) необходимо зарегистрироваться для просмотра ссылки
ЭлементыФормы.ПолеHTMLДокумента1.Document.parentWindow.eval("setLetLng("+Формат(Широта,"ЧРД=.; ЧГ=0")+","+Формат(Долгота,"ЧРД=.; ЧГ=0")+",'"+"НоваяТРТ"+"','"+html+"')");

Вот так попробуйте:
ЭлементыФормы.ПолеHTMLДокумента1.Перейти("java script:setLetLng("+Формат(Широта,"ЧРД=.; ЧГ=0")+","+Формат(Долгота,"ЧРД=.; ЧГ=0")+",'"+"НоваяТРТ"+"','"+html+"')");
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.