|
Яндекс-карта формат 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) и в чем?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |