|   |   | 
| 
 | Яндекс-карта формат XML. Есть координаты объекта. Как показать? | ☑ | ||
|---|---|---|---|---|
| 0
    
        1CNachalo 03.05.18✎ 17:09 | 
        Очень понравилась статья на эту тему https://sites.google.com/site/1sspravocniktipovyhzadac/7-formy/html-dokument/andeks-karty#TOC-8.3
 и видео https://www.youtube.com/watch?v=vbGYz-YYM5s Пытаюсь что-то сделать по аналогии. Наверное, ошибаюсь. Но и ошибок не выдает, и карты. Версия 1С 8.3.9.1818 В <head>...</head> дописываю скрипты: HTMLТекст = "<html> |<head> |<meta http-equiv=""Content-Type"" content=""text/html; charset=windows-1251"" /> | <script src=""https://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU"" type=""text/javascript""></script> | <script type=""text/javascript""> // Отключим ошибки выполнения скрипта | window.onerror = myOnError; | ymaps.ready(init); | var myMap, | myPlacemark; | | function init(){ | myMap = new ymaps.Map (""map"", { | center: [55.76, 37.64], | zoom: 7 | }); | | myPlacemark = new ymaps.Placemark([55.76, 37.64], { | hintContent: 'Москва!', | balloonContent: 'Столица России' | }); | myMap.geoObjects.add(myPlacemark); | } // Процедура регенерации ошибки сведена к минимуму, чтобы не показывать ошибки | function myOnError(msg, url, lno) {return true} | </script> |<style> //...................... | </style> |</head> |<body>"; А в тег <body>...</body> дописываю НTMLТекст = HTMLТекст +"<div id=""map"" style=""width: 100%; height: 100%""></div>"; ================================================================ Отправляю на отладку. И жду чуда: появления карты. Но, наверное, рано... Не появляется. Я что-то не дописала? | |||
| 1
    
        DrShad 03.05.18✎ 17:14 | 
        опять!?     | |||
| 2
    
        DrShad 03.05.18✎ 17:16 | 
        неплохо бы еще дернуть функцию в которую обернут вывод карты     | |||
| 3
    
        Вафель 03.05.18✎ 17:41 | 
        разве это не оно ymaps.ready(init); | |||
| 4
    
        ugorchina 03.05.18✎ 20:12 | 
        (0) Дайте доступ стучитесь в аську я помогу! у меня не совсем новая платформа и обновлять себе ее лень давайте доступ посмотрим что там у Вас не работает!     | |||
| 5
    
        ugorchina 03.05.18✎ 20:16 | 
        (0) я не с проста спрашивал Вас на другой ветке касательно моего кода там есть строчки
 Результат = СоединениеСЯндексом.Получить(ЗапросЯндексу); что она Вам выдает? выложите сюда | |||
| 6
    
        ugorchina 03.05.18✎ 20:16 | 
        (5) ВАшей версии платформы     | |||
| 7
    
        ugorchina 03.05.18✎ 20:23 | 
        (5) в общем это Вам намек читайте результат сделайте ряд проверок что бы найти причину почсему Вы не можете чтото получить а после уже можно будет решить данную проблему а так я Вам дал код Вы говорите что Ваш работал! я не спорю НО Вы так же говорите что на версии как я понял Выше Ваш код не отрабатывает ПОЧЕМУ? читайте результат запроса 
 в Вашем примере Вы сразу кладете данные запроса в j а надо как я Вам написал что бы можно было легко посмотреть что там в результате а после уже идти дальше! | |||
| 8
    
        ugorchina 03.05.18✎ 20:25 | 
        так же в Вашем примере ошибка была здесь
 Ваша строка ЗапросККартам = Новый HTTPЗапрос("1.x/?size=450,450&z=13&l=map&pt="+Локация+",pm2rdl1"); моя строка ЗапросККартам = Новый HTTPЗапрос("1.x/?ll="+Локация+"&size=450,450&z=13&l=map&pt="+Локация+",pmwtm1~"+Локация+",pmwtm99"); а так же вот в этой строчке ЗапросЯндексу = Новый HTTPЗапрос("1.x/?results=1&format=json&geocode="+ПолучитьСтроку(АдресФактическийКонтрагента)); results=1 это что? зачем это? в описании АПИ яндекса я что то не нашел такого параметра | |||
| 9
    
        1CNachalo 03.05.18✎ 20:54 | 
        (8) спасибо большое. Хотела бы сейчас написать, но не могу. Напишу утром     | |||
| 10
    
        ugorchina 04.05.18✎ 09:09 | 
        (9) Доброе утро! ну что продолжение следует?     | |||
| 11
    
        1CNachalo 04.05.18✎ 09:33 | 
        (10) Доброе утро) Да, сейчас     | |||
| 12
    
        1CNachalo 04.05.18✎ 09:45 | 
        (5) 
 При АдресФактическийКонтрагента="г.Москва ул.Тверская д.7"; в СоединениеСЯндексом.Получить(ЗапросЯндексу) HTTPОтвет HTTPОтвет, а именно в том числе: Заголовки Соответствие Соответствие КодСостояния 200 Число в СоединениеСЯндексом.Получить(ЗапросЯндексу).ПолучитьТелоКакСтроку() "{"response":{"GeoObjectCollection":{"metaDataProperty":{"GeocoderResponseMetaData":{"request":"%D0%B3.%D0%9C%D0%BE%D1%81%D0%BA%D0%B2%D0%B0%20%D1%83%D0%BB.%D0%A2%D0%B2%D0%B5%D1%80%D1%81%D0%BA%D0%B0%D1%8F%20%D0%B4.7","found":"0","results":"1"}},"featureMember":[]}}}" Строка Found: 0, как я поняла, означает, что значений найдено 0. Если же ввожу тоже название на латинице (выкладывала в той ветке) found:42. Если верно понимаю 42 найденных значения. ======================================================== (8) results=1 это что? зачем это? в описании АПИ яндекса я что то не нашел такого параметра ========================================================= Это означает, что из всего множества найденных значений выводится одно, наиболее соответствующее. ======================================================= моя строка ЗапросККартам = Новый HTTPЗапрос("1.x/?ll="+Локация+"&size=450,450&z=13&l=map&pt="+Локация+",pmwtm1~"+Локация+",pmwtm99"); ======================================================== Почему надо писать так? | |||
| 13
    
        ugorchina 04.05.18✎ 09:47 | 
        не так
 СоединениеСЯндексом.Получить(ЗапросЯндексу).ПолучитьТелоКакСтроку() а так РезКарты = СоединениеСЯндексом.Получить(ЗапросЯндексу); | |||
| 14
    
        ugorchina 04.05.18✎ 09:48 | 
        (12) стучитесь в аську так будет быстрее и проще!     | |||
| 15
    
        ugorchina 04.05.18✎ 09:54 | 
        (12) моя строка 
 ЗапросККартам = Новый HTTPЗапрос("1.x/?ll="+Локация+"&size=450,450&z=13&l=map&pt="+Локация+",pmwtm1~"+Локация+",pmwtm99"); ======================================================== Почему надо писать так? АПИ Почитайте (по Вашей строке не открывается! | |||
| 16
    
        1CNachalo 04.05.18✎ 10:07 | 
        (14) аськой просто сейчас не пользуюсь, даже не установлена.
 Сейчас попробую поставить эту Вашу строку и отпишусь | |||
| 17
    
        1CNachalo 04.05.18✎ 10:32 | 
        (15) Игорь, по этой строке выдает такую же карту, просто большего размера     | |||
| 18
    
        ugorchina 04.05.18✎ 11:56 | 
        честно говоря я уже запутался У Вас работает или нет? судя по таму что Вы пишите то работает тогда чего Вы от нас хотите вопрос то в чем?
 что не получается сделать? | |||
| 19
    
        ugorchina 04.05.18✎ 12:15 | 
        917) меня не игорь зовут )))
 мой ник Угорщина ))) О чем говорят мужчины смотрели? :-) | |||
| 20
    
        1CNachalo 04.05.18✎ 13:25 | 
        (19) Простите, Угорщина. Работает, если набирать адрес латиницей. Не работает - если русскими буквами. Иногда (очень редко) работает и с русскими буквами, но в этом случае выдает неправильно, какую-нибудь Бразилию. Так код отрабатывает на версии 8.3.9. На 8.3.10 и 8.3.11 этот код работает идеально.
 Но надо написать так, чтобы карта показывалась и на старых версиях. Что проблема просто в версиях, мне подсказали на той, другой ветке. Это оказалось истиной. Сейчас в чем задача. Сделать карту не как картинку, а интерактивную, т.е. с возможностью масштабирование клиентом в ходе работы. Вроде такое в формате json невозможно. Если так - остается xml. Координаты объектов уже известны. Надо по ним вывести карту. Поискала, как это делать. Образцы выложила в начале этой ветки. Вроде всё делаю, как там. Но карта пока не показывается. Ищу, что дописать. Если использовала концовку того, прежнего, кода с json - карта тоже не выдавалась. Тогда я в переменную Локация помещала заранее известные координаты. Еще раз прошу прощение за искажение имени и ника. | |||
| 21
    
        ugorchina 04.05.18✎ 14:27 | 
        ок латиницей как набираете этот адрес г.Москва ул.Тверская д.7 ?     | |||
| 22
    
        1CNachalo 04.05.18✎ 14:40 | 
        (21) Moskow Tverskaja 7
 В этом случае, если даже сделать ошибку в написании -- всё равно выводит карту. | |||
| 23
    
        1CNachalo 04.05.18✎ 14:50 | 
        О выводе интерактивной  яндекс-карты. (2) "неплохо бы еще дернуть функцию в которую обернут вывод карты"
 ---------------------------------------------------------------------------- В конструкторе яндекс-карт сгенерировала код для карты и поставила ее в контейнер <div> </div> Получилось так: НTMLТекст = HTMLТекст +"<div id=""map"" style=""width: 100%; height: 100%""> |<script type=""text/javascript"" charset=""utf-8"" async |src=""https://api-maps.yandex.ru/services/constructor/1.0/js/?um=constructor%3A28076d956074aa38d344cbf2e511c1b3a7d0b5be8be7d2c335ef0de8bc2385fb&width=500&height=400&lang=ru_RU&scroll=true""> |</script></div>"; Это помимо того, что в head в скрипта находится подключение к картам. Не выводит. Хотя вот здесь https:_//user.diafan.ru/forum/show123/ (надо убрать знак _) нашла такой алгоритм действий: 1. Идете на api.yandex https://tech.yandex.ru/maps/tools/constructor/, генерите карту, копируете код 2. Создает блок на сайте, и ставите галочку, что это html-код. туда копируете код с Яндекса 3. Вставляете блок, который у вас получился на страницу там где надо. ------------- Вроде так и сделала. ------------------------- Хотя здесь же от другого пользователя высказывание: "З.Ы. Не забывайте, что содержимое вышеупомянутого поля JavaScript не выводится если в шаблоне нету <insert name="show_js">" А вот это я не поняла. И этого у меня нет. Может поэтому и карта не выводится? | |||
| 24
    
        ugorchina 04.05.18✎ 15:16 | 
        (21) Moskow Tverskaja 7  транслит текста сделайте 
 вот код Функция Трансилитировать(Адрес) Рез = СокрЛП(Адрес); Рез = СтрЗаменить(Рез,"а","a"); Рез = СтрЗаменить(Рез,"б","b"); Рез = СтрЗаменить(Рез,"в","v"); Рез = СтрЗаменить(Рез,"г","g"); Рез = СтрЗаменить(Рез,"д","d"); Рез = СтрЗаменить(Рез,"е","e"); Рез = СтрЗаменить(Рез,"ё","e"); Рез = СтрЗаменить(Рез,"ж","zh"); Рез = СтрЗаменить(Рез,"з","z"); Рез = СтрЗаменить(Рез,"и","i"); Рез = СтрЗаменить(Рез,"к","k"); Рез = СтрЗаменить(Рез,"л","l"); Рез = СтрЗаменить(Рез,"м","m"); Рез = СтрЗаменить(Рез,"н","n"); Рез = СтрЗаменить(Рез,"о","o"); Рез = СтрЗаменить(Рез,"п","p"); Рез = СтрЗаменить(Рез,"р","r"); Рез = СтрЗаменить(Рез,"с","s"); Рез = СтрЗаменить(Рез,"т","t"); Рез = СтрЗаменить(Рез,"у","u"); Рез = СтрЗаменить(Рез,"ф","f"); Рез = СтрЗаменить(Рез,"х","h"); Рез = СтрЗаменить(Рез,"ч","ch"); Рез = СтрЗаменить(Рез,"ш","sh"); Рез = СтрЗаменить(Рез,"щ","sch"); Рез = СтрЗаменить(Рез,"ъ",""); Рез = СтрЗаменить(Рез,"ь",""); Рез = СтрЗаменить(Рез,"э","e"); Рез = СтрЗаменить(Рез,"ю","yu"); Рез = СтрЗаменить(Рез,"й","i"); Рез = СтрЗаменить(Рез,"ц","c"); Рез = СтрЗаменить(Рез,"я","ya"); Рез = СтрЗаменить(Рез,"ы","i"); Рез = СтрЗаменить(Рез,"А","A"); Рез = СтрЗаменить(Рез,"Б","B"); Рез = СтрЗаменить(Рез,"В","V"); Рез = СтрЗаменить(Рез,"Г","G"); Рез = СтрЗаменить(Рез,"Д","D"); Рез = СтрЗаменить(Рез,"Е","E"); Рез = СтрЗаменить(Рез,"Ё","E"); Рез = СтрЗаменить(Рез,"Ж","ZH"); Рез = СтрЗаменить(Рез,"З","Z"); Рез = СтрЗаменить(Рез,"И","I"); Рез = СтрЗаменить(Рез,"К","K"); Рез = СтрЗаменить(Рез,"Л","L"); Рез = СтрЗаменить(Рез,"М","M"); Рез = СтрЗаменить(Рез,"Н","N"); Рез = СтрЗаменить(Рез,"О","O"); Рез = СтрЗаменить(Рез,"П","P"); Рез = СтрЗаменить(Рез,"Р","R"); Рез = СтрЗаменить(Рез,"С","S"); Рез = СтрЗаменить(Рез,"Т","T"); Рез = СтрЗаменить(Рез,"У","U"); Рез = СтрЗаменить(Рез,"Ф","F"); Рез = СтрЗаменить(Рез,"Х","H"); Рез = СтрЗаменить(Рез,"Ч","CH"); Рез = СтрЗаменить(Рез,"Ш","SH"); Рез = СтрЗаменить(Рез,"Щ","SCH"); Рез = СтрЗаменить(Рез,"Ъ",""); Рез = СтрЗаменить(Рез,"Ь",""); Рез = СтрЗаменить(Рез,"Ы","I"); Рез = СтрЗаменить(Рез,"Ц","C"); Рез = СтрЗаменить(Рез,"Э","E"); Рез = СтрЗаменить(Рез,"Ю","YU"); Рез = СтрЗаменить(Рез,"Я","YA"); Рез = СтрЗаменить(Рез,"Й","I"); Возврат(Рез); КонецФункции | |||
| 25
    
        1CNachalo 04.05.18✎ 15:31 | 
        На данный момент: просто поставила этот код:
 <html> <head> <title>Быстрый старт. Размещение интерактивной карты на странице</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="https://api-maps.yandex.ru/2.0-stable/?load=package.standard&lang=ru-RU" type="text/javascript"></script> <script type="text/javascript"> ymaps.ready(init); var myMap, myPlacemark; function init(){ myMap = new ymaps.Map ("map", { center: [55.76, 37.64], zoom: 7 }); myPlacemark = new ymaps.Placemark([55.76, 37.64], { hintContent: 'Москва!', balloonContent: 'Столица России' }); myMap.geoObjects.add(myPlacemark); } </script> </head> <body> <div id="map" style="width: 600px; height: 400px"></div> </body> </html> в Блокнот. Сохранила как 1.html Карта выводится. Тоже самое в 1С - карта не выводится. Что не так? Ведь вот здесь (https://sites.google.com/site/1sspravocniktipovyhzadac/7-formy/html-dokument/andeks-karty#TOC-8.3) человек в 1С это использовал. При том на более старой версии (8.2), у меня 8.3.9 | |||
| 26
    
        1CNachalo 04.05.18✎ 15:33 | 
        (24) Спасибо большое, Угорщина! только я это уже прописала     | |||
| 27
    
        ugorchina 04.05.18✎ 15:42 | 
        (25) + (26) я умываю руки извините я сам еще очень плохо знаю 1с (     | |||
| 28
    
        1CNachalo 04.05.18✎ 15:50 | 
        (27) Спасибо, Угорщина! Я видела, как Вы старались помочь. Спасибо!     | |||
| 29
    
        Lexey_ 04.05.18✎ 16:25 | 
        (25) добавь строку
 <meta http-equiv="X-UA-Compatible" content="IE=9"></meta> | |||
| 30
    
        1CNachalo 06.05.18✎ 11:30 | 
        (29) в каком месте?     | |||
| 31
    
        Lexey_ 06.05.18✎ 15:58 | 
        (30) рядом с другим <meta>     | |||
| 32
    
        1CNachalo 06.05.18✎ 17:54 | 
        (29) Нет, спасибо, но ничего не изменило.
 Код рабочий. Выше писала, что протестила его на веб-странице - карту выдает. Из 1С не выдает. В чем дело - поняла, т.к. написала запрос тех.поддержке Яндекс-карт и получила от них ответ. Если кому-то интересно - поясню в чем дело. | |||
| 33
    
        Lexey_ 06.05.18✎ 19:28 | 
        (32) и в чем?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |