0. Smaylukk 795 28.12.12 00:14 Сейчас в теме

Работа с картами 1С 4 в 1: Яндекс, Google , 2ГИС, OpenStreetMap(OpenLayers)

С каждым годом становится все очевидно, что использование онлайн-сервисов намного упрощает жизнь. К сожалению по картографическим сервисам условия пока жестковаты. Но, ориентируясь на будущее, я решил показать возможности API выше указанных сервисов:
Инициализация карты
Поиск адреса на карте с текстовым представлением
Геокодинг
Обратная поиск адреса по ее координатами
Взаимодействие с картами - прием координат установленного на карте метки
Построение маршрутов по указанным точками
Кластеризация меток на карте при увеличении масштаба
Теперь также поддержка тонкого и веб-клиента

Перейти к публикации

Вознаграждение за ответ
Показать полностью
Комментарии
Избранное Подписка Сортировка: Древо
95. Smaylukk 795 29.05.15 11:11 Сейчас в теме
(94) savostin.alex, в УФ у ПоляHTMLДокумента очень мало событий. А особенность маршрутизатора Яндекса или Гугла в том, что они не возвращают эти данные - они выводят маршрут на карту и потом уже у маршрута можно получить нужную инфу.
После получения инфы - ее надо записать в специально созданный элемент на карте, а в УФ подключать обработчик ожидания, который будет опрашивать эти переменные на наличие инфы.
Так это сделано в этой обработке. Смотрите код формы и макет Яндекса или Гугла.
228. simuljakr 172 28.06.17 17:05 Сейчас в теме
Не работает Яндекс ((
Ошибка при попытке геокодировать по яндексу адрес: 123007, г.Москва, 5-я Магистральная д. 6/3
{Форма.Форма.Форма(95)}: Ошибка при вызове метода контекста (Получить): Ошибка работы с Интернет: Failure when receiving data from the peer
229. Smaylukk 795 29.06.17 09:11 Сейчас в теме
(228) У меня такая ошибка возникала, когда я использовал прокси. Сейчас все работает. Более точно подсказать не могу
96. mishulasashula2005 01.07.15 12:28 Сейчас в теме
У меня ошибка вылетает при вводе адреса в поисковой строке "Адрес":

Ошибка разбора XML: - [6,8]
Фатальная ошибка:
Opening and ending tag mismatch: hr line 0 and body


Я так понимаю это происходит в момент:
ДокументДОМ = ПостроительDOM.Прочитать(ЧтениеXML);

Что-то не так с макетом?
97. Smaylukk 795 01.07.15 17:07 Сейчас в теме
(96) mishulasashula2005, Если используется карта Яндекс - то нет.
Ошибка с геокодингом. Яндекс недавно перешел на https.
Вот такое попробуйте использовать в местах создания HTTPСоединения в процедуре "ПроизвестиГеокодинг_Яндекс()"
ssl = Новый ЗащищенноеСоединениеOpenSSL(
Новый СертификатКлиентаWindows(),
Новый СертификатыУдостоверяющихЦентровWindows());

Яндекс = Новый HTTPСоединение("geocode-maps.yandex.ru",,,,,,ssl);
Правда, не знаю с какой версии платформы это заработает. На 8.3.4.465 работает
user896139; ppirina; mishulasashula2005; +3 Ответить
98. tarassov 96 01.07.15 17:20 Сейчас в теме
(97)
У меня сейчас с яндексом нормально коннектится конструкция
Новый HTTPСоединение(Сервер,,,,,, Новый ЗащищенноеСоединениеOpenSSL() )

не понимаю, что дает дополнительное вписывание
Новый ЗащищенноеСоединениеOpenSSL( Новый СертификатКлиентаWindows(), Новый СертификатыУдостоверяющихЦентровWindows())
вместо примитивного Новый ЗащищенноеСоединениеOpenSSL()
Хотя совсем не исключаю, что какие-то неведомые мне тонкости могут существовать
Буду рад, если кто уточнит
mishulasashula2005; +1 Ответить
99. mishulasashula2005 03.07.15 12:46 Сейчас в теме
(97) спасибо за помощь! заработало!

У меня еще один вопрос: при открытии формы с картой хочу передавать значение реквизита ТекАдрес, Назначаю после инициализации процедуру НайтиАдресНаКарте(ТекАдрес); (ту же, что и при изменении значения ТекАдрес), НО при изменении ТекАдреса строчка из кода
ЭлементыФормы.Эксплорер.Документ.parentWindow.eval("FindAdres(""" + Адрес + """);"); - срабатывает, а при открытии формы вылетает ошибка "Метод eval не существует"...
100. tarassov 96 03.07.15 13:22 Сейчас в теме
(99) mishulasashula2005,
а при открытии формы вылетает ошибка "Метод eval не существует"...
- Вероятно в этот момент com-объект, оберткой которого является в 1С ПолеHTMLДокумента, еще не сформирован, не активирован и соответственно его свойств и методов еще не существует
101. Smaylukk 795 03.07.15 16:41 Сейчас в теме
(99) mishulasashula2005,
Не прогрузилась карта. Я в обработке использовал следующее:
  • Добавил переменную, которая бы означала, что HTML-Документ сформирован;
  • В методе ПоляHTMLДокумента ДокументСформирован() проверял "Если ЭлементыФормы.Эксплорер.Документ.url <> "about:blank" Тогда"
  • Когда условие срабатывало - в переменную писался признак успешной инициализации и запускался нужный обработчик
Ниже пример кода:
Если Не мКартаИнициализирована Тогда
		Если ЭлементыФормы.Эксплорер.Документ.url <> "about:blank" Тогда
			мКартаИнициализирована = Истина;
			//подключаем или запускаем нужный обработчик
			ПодключитьОбработчикОжидания("НужныйОбработчик", 0.5, Истина);
		КонецЕсли;
	КонецЕсли;
134. ppirina 26.02.16 11:04 Сейчас в теме
(97) спасибо большое! Ваш совет очень помог.
102. mishulasashula2005 06.07.15 09:30 Сейчас в теме
Огромное спасибо! Все сработало!
103. Apatic 10.08.15 14:13 Сейчас в теме
Спасибо огромное за обработку. Очень любопытно.

Единственная проблема, которую нашел (ну кроме вышеописанных уже) в УФ, при запуске Яндекс карт выдается ошибка скрипта.

Как ни отключал в свойствах IE всякие галочки - ничего не помогло :(

Скрин ошибки https://yadi.sk/i/r2lRuCTciNBq7

Никто больше не сталкивался?
104. Smaylukk 795 10.08.15 17:24 Сейчас в теме
(103) Apatic, эта ошибка периодически вываливается при загрузке карты. Возможно связана с обновлением релиза стабильной версии.
Не поборол в чистом виде. На функциональность дальше не влияет, по крайней мере у меня.
Можно отключить уведомление - описал в (76)
105. Apatic 16.08.15 22:44 Сейчас в теме
(104) Что примечательно, в веб-клиенте эта ошибка не возникает.
А мне как раз и нужен был веб-клиент, слава богу:)
106. FreeArcher 89 21.08.15 09:59 Сейчас в теме
Отличный пример. Пытаюсь разобраться и параллельно пишу свой код.
У меня не срабатывает позиционирование на найденном адресе.
Т.е. я ввожу строку поиска, в сообщении получаю координаты, карта дергается, но не показывает наеденный объект.
В твоей обработки это работает, но я не могу найти где это позиционирование запускается? Подскажи пожалуйста.
107. FreeArcher 89 21.08.15 10:03 Сейчас в теме
Разобрался сам, за это отвечает
&НаКлиенте
Процедура ПоискАдреса(Адрес)
	Элементы.ПолеHTML.document.getElementById("WebClientOperation").value = "FindAdres(""" + Адрес + """);";
	Элементы.ПолеHTML.document.getElementById("WebClient").click();
КонецПроцедуры

109. Smaylukk 795 21.08.15 23:52 Сейчас в теме
(107) FreeArcher, конкретно этот код отвечает за вызов метода в тонком и веб клиентах.
А позиционирование - это метод panTo() в АПИ Яндекс-карт.
108. Aleanza 21.08.15 11:40 Сейчас в теме
Добрый день.

хочу поблагодарить за разработку
110. FreeArcher 89 04.09.15 08:38 Сейчас в теме
Разрабатываю свое "Рабочее место менеджера по доставке" использую приведенные примеры, за что огромное спасибо!
При построении кластера есть 2 недоработки:
1. Не отображается название точки.
2. Не очищается массив точек при очистки карты.

А я как раз хочу использовать этот механизм, чтобы выводить адреса доставок и адрес использовать в качестве надписи. Можешь подсказать, как это поправить?
111. FreeArcher 89 04.09.15 09:49 Сейчас в теме
(110)
Проблему решил следующим кодом

	function addToPointArray(CoordX, CoordY, ID, Text){
		var point = new ymaps.GeoObject({
		    geometry: {type: "Point", coordinates: [CoordX, CoordY]},
		    properties: {
		    
		    iconContent: ID,///!!!
	        balloonContentBody: Text
		    }
			});
		PointArray.push(point);
	}
	
	function drawCluster(){
		clusterer.removeAll();//!!!!
		clusterer.add(PointArray);
		myMap.geoObjects.add(clusterer);
	}
Показать
112. Smaylukk 795 04.09.15 13:09 Сейчас в теме
(110) , (111) - на момент публикации все делалось на основе АПИ Яндекс-карт 2.0. Для кластеризации они писали, что лучше использовать точки (point) вместо меток (placemark), т.к. последние ресурсоемкие, а кластеризация предполагает вывод большого числа точек. А у точки меньше параметров, нежели у метки, поэтому доп. инфо можно было поместить в балун, что вы и сделали.
По удалению - в 2.0 надо было удалять каждый созданный объект отдельно, из-за этого их надо сначала помещать в массив, а потом из массива брать объекты и удалять. В 2.1 добавили для Map метода по удалению всех элементов с карты - стало гораздо проще :)
Также сейчас, в песочнице для 2.1, показано, что кластеризация делается с помощью меток. Может оптимизировали и стало менее ресурсоемкое - не изучал этот вопрос. Попробуйте
113. FreeArcher 89 07.09.15 11:15 Сейчас в теме
(112) Спасибо, освоил метки (placemark).

Теперь есть ещё задача посчитать длину маршрута.
Есть функция у тебя:
	function calcRoute(options){
		ymaps.route(options, {
	        // Опции маршрутизатора
	        mapStateAutoApply: true, // автоматически позиционировать карту
	        avoidTrafficJams: true   // Учитывать пробки
	    }).then(
		    function (router) {
		    route = router;
		        myMap.geoObjects.add(route);
		        
		        //заполняем и сохраняем инфо про маршрут
		        document.getElementById('RouteInfo').value = "Длина маршрута - " + route.getHumanLength() + ". Время - " + route.getHumanJamsTime();
		        
		        //генерация события для перехвата в 1С
		        var evt = document.createEventObject();
  				document.body.fireEvent('ondatasetcomplete', evt);
		    },
		    function (error) {
		        alert("Возникла ошибка: " + error.message);
	    });
	}
Показать


в ней вроде как все есть. Но как из неё вытянуть значение "route.getHumanLength()" я непойму. Подскажи пожалуйста?
114. Smaylukk 795 07.09.15 15:10 Сейчас в теме
(113) FreeArcher, в переменную RouteInfo помещается нужно значение и оттуда уже из 1С можно считать это значение.
Но проблема в том, что построение маршрута асинхронное, т.е. неясно когда оно закончится.
В толстом клиенте проще - можно сгенерировать какое-то событие ПоляHTMLДокумента и в нем уже кодом получать значение. В примере это событие "ondatasetcomplete()".
В тонком сложнее - надо подключать обработчик ожидания, который будет проверять, закончилось или нет построение маршрута.
115. FreeArcher 89 16.09.15 13:13 Сейчас в теме
(114)
FreeArcher, в переменную RouteInfo помещается нужно значение и оттуда уже из 1С можно считать это значение

Вот скажи, как из этой переменной получить значение? Как код 1С выглядит для этого, вот я что спрашиваю?
116. Smaylukk 795 16.09.15 17:07 Сейчас в теме
(115) FreeArcher,
Толстый клиент - ЭлементыФормы.Эксплорер.document.getElementById("RouteInfo").value
Толстый клиент - Элементы.Эксплорер.document.getElementById("RouteInfo").value
FreeArcher; +1 Ответить
117. Justlink 13.10.15 13:12 Сейчас в теме
Никто не знает, что случилось с гуглокартами в 1С? Вместо карт - белый фон и всё. Правда рисуется по бокам служебные иконки, вроде масштаба ит.д.
118. Smaylukk 795 13.10.15 16:51 Сейчас в теме
(117) Justlink, скорее всего - обновилось API Google Maps.
Вот тут говорится, что нужен браузерный ключ.
119. olo_lo4 30.10.15 10:55 Сейчас в теме
Добрый день!
Спасибо за классный пример, очень интересно.

А как сделать что бы на примере Яндекс-карт он еще выводил непосредственно маршрут, например
ул А- ул Б 1300 м
ул Б - МКАД 2345 м
МКАД - поворот на ул С 1200 м
ул С 300 м

У меня стоит задача расписать именно так маршрут для доставки и самое важное отслеживать расстояние от МКАД далее до точки доставки
Заранее спасибо
121. Smaylukk 795 04.11.15 12:07 Сейчас в теме
(119) olo_lo4, смотрите в песочнице яндекса https://tech.yandex.ru/maps/jsbox/2.1/multiroute_view_options. Относительно МКАД - там в двух словах не опишешь.
120. olo_lo4 30.10.15 11:07 Сейчас в теме
Да, и еще на примере карты яндекса, есть ли возможность что бы в зависимости от какого то признака маршрут стоился либо оптимально по точкам , либо оптимально по точкам в зависимости от пробок
122. Smaylukk 795 04.11.15 12:09 Сейчас в теме
(120) olo_lo4, Яндес по-умолчанию строит все свои маршруты оптимальными. За учитывание ситации с пробками на дорогах отвечает параметр avoidTrafficJamsфункции route
123. Xershi 761 04.11.15 12:17 Сейчас в теме
Взял на заметку. Пока с этим функционалом работать не приходилось, но думаю на будущее будет полезно!
124. Ekzamenator 06.11.15 00:09 Сейчас в теме
Безусловный плюс в карму!
Запросы яндексу можно заменить на
Яндекс = Новый HTTPСоединение("geocode-maps.yandex.ru/1.x/", , , , , Истина);
или
Яндекс = Новый HTTPСоединение("geocode-maps.yandex.ru/1.x/",,,,,, Новый ЗащищенноеСоединениеOpenSSL());
оба варианта работают.
Еще небольшие ошибки попадались, но это мелочи.
125. Spacer 293 04.02.16 10:47 Сейчас в теме
Здравствуйте!
Подскажите пожалуйста почему при открытии гугл карты выходит такая ошибка:
"MarkerClusterer" не определено.
126. Smaylukk 795 05.02.16 10:05 Сейчас в теме
(125) Spacer, пока ответить не могу, т.к. не знаю причину. Если найду время - попробую привести обработку к работающему варианту.
129. Smaylukk 795 23.02.16 10:38 Сейчас в теме
(125),(127),(128) , обновлена обработка в публикации.
131. Slon747 25.02.16 15:46 Сейчас в теме
(129) Скажите, для загрузки исправленной обработки нужно заново приобретать абонемент, если старый просрочен?
136. Smaylukk 795 26.02.16 11:08 Сейчас в теме
(131) Slon747, Это зависит от политики инфостарта.
138. Spacer 293 01.03.16 17:55 Сейчас в теме
(129) Что-то опять та же ошибка в гугле: "MarkerClusterer" не определено.
В начале выскакивает, а потом нормально.
139. Smaylukk 795 01.03.16 18:24 Сейчас в теме
(138) Spacer, открывал обработку в толстом и тонком клиенте - ошибки нет, кластеризация работает.
127. Serg O. 181 18.02.16 17:37 Сейчас в теме
неделю назад работало... вчера перестало

Яндекс - сразу при открытии:
https://api-maps.yandex.ru/2.0.43/release/combine.xml?modules=3N5x6D3G373R3H3_-j.C_e_h-,-)5e5h8H.I5n_b$w$y$A784Q-K-L9Z$d$a9x9R8a7)-e797

Гугл выдеёт ошибку
https://maps.google.com/maps-api-v3/api/js/24/0/intl/ru_ALL/onion.js


2GIS еще работает
128. Slon747 22.02.16 12:27 Сейчас в теме
У меня тоже гугл стал выдавать:
Ошибка: Script error
URL: https://maps.google.com/maps-api-v3/api/js/24/0/intl/ru_ALL/onion.js
130. madonov 155 25.02.16 07:43 Сейчас в теме
Есть способ вывести Яндекс-карту на печать (кроме скриншота)?
135. Smaylukk 795 26.02.16 11:08 Сейчас в теме
(130) madonov, Пока такого способа не нашел
132. madonov 155 26.02.16 02:37 Сейчас в теме
А яндекс снова не работает.

Как они достали честное слово.
Прикрепленные файлы:
137. Smaylukk 795 26.02.16 11:10 Сейчас в теме
(132) madonov, Обновил обработку.
Или же открыть макет яндекса и поменять скрипт подключения апи на
<script src="http://api-maps.yandex.ru/2.1.34/?lang=ru_RU" type="text/javascript"></script>
140. teca 03.03.16 11:23 Сейчас в теме
Smaylukk, вопрос если возможность маркировать точки не 1, 2 ,3 а указать именно адрес или контрагента
141. Smaylukk 795 03.03.16 13:07 Сейчас в теме
(140) teca, что в Google, что в Яндекс - выводятся не цифры, а "Точка 1" и т.д. Так что, если заменить на свое название - будет отображаться.
142. Гость 18.03.16 14:06
(141) глупый вопрос, но как передать адрес в ТЗ на форме вместо "Точки 1, 2 и т.д."?
143. Smaylukk 795 18.03.16 17:27 Сейчас в теме
(142) Гость, Вопрос не глупый. Это действительно не так просто сделать.
Надо в коде макета карты, в месте, где отрабатывается клик мыши и создается маркер на карте, вставить функцию обратного геокодинга, который по координатам определит адрес и передать его в переменную карты, куда сейчас передаются "Точка 1, 2, и т.д." и 1С сама его считает.
144. Гость 22.03.16 15:33
(143) еще раз извиняюсь за беспокойство, но это то и главная проблема - функцию обратного геокодинга я нашел в песочнице яндекс апи, там вроде бы ничего сложного и все пояснено комментариями, а вот как передать содержимое метки на форму - непонятно.
145. Smaylukk 795 23.03.16 11:16 Сейчас в теме
(144) Гость, через переменные HTML.
В макетах они обьявляются так - <input type="hidden" id="ИмяПеременной" name="ИмяПеременной" value="0"></input>.
Считываются следующим кодом:
Толстый клиент - ЭлементыФормы.Эксплорер.document.getElementById("ИмяПеременной").value
Толстый клиент - Элементы.Эксплорер.document.getElementById("ИмяПеременной").value.
Иногда геокодинг не успеет отработатьтся быстро, т.к. там асинхронный вызов, и после вызова этого метода в 1С через "eval", в переменной может быть пусто, тогда надо подключать обработчик ожидания, который будет проверять переменную на заполненность.
Это все есть в коде обработки.
146. wmonref1 26.03.16 15:59 Сейчас в теме
Ув. Smaylukk, подскажите пожалуйста, куда надо ввести ключ API?
147. Smaylukk 795 27.03.16 12:41 Сейчас в теме
(146) wmonref1, ключ надо прописать в макете, в блоке инициализации АПИ.
Яндекс - https://tech.yandex.ru/maps/doc/jsapi/2.1/dg/concepts/load-docpage/
Google - https://developers.google.com/maps/documentation/javascript/tutorial#Loading_the_Maps_API
wmonref1; +1 Ответить
148. Seraf1no 01.04.16 10:00 Сейчас в теме
Добрый день! Вопрос такой - создал регистр сведений, планирую оттуда брать записи. Есть ли возможность реализовать отображения на карте выбранных адресов?
149. Smaylukk 795 01.04.16 13:50 Сейчас в теме
(148) Seraf1no, да, используйте методы макетов карт или же алгоритмы из обработки.
Примерно похоже на то, как в обработке реализовано отображение на карте найденных адресов, при их выделении в таблице.
150. Seraf1no 05.04.16 13:33 Сейчас в теме
(149) вот еще вопрос. Из всех найденных адресов из ТЗ можно вывести лишь один, при выборе другого предыдущая метка затирается. А где функция, отвечающая за затирание предыдущей метки? WebClientClick изменял в макете, ситуация никак не менялась. Если это узнать, то останется совсем немного додумать как сразу выводить много меток, а так непонятно...
151. Smaylukk 795 05.04.16 17:27 Сейчас в теме
(150) Seraf1no, надо искать использование метода Reset(), как в коде обработки, так и в коде макета
Noxie41; Seraf1no; +2 Ответить
153. Sheff 06.04.16 17:48 Сейчас в теме
(150) Seraf1no,
задача то какая? Вывести на яндекс карту несколько меток с адресами?
156. Seraf1no 07.04.16 07:41 Сейчас в теме
(153) Sheff, уже вывел, как и говорил выше, как только разобрался с функцией Reset, загнал процедуру
ТаблицаАдресовВыбор
в цикл и вывел все метки с адресами в балуны. Теперь другая проблема - как передать значение имени из ТЗ на форме в заголовок балуна.
2.1.38 кстати работает, правда тормозит сильно почему-то.
158. Sheff 07.04.16 09:58 Сейчас в теме
(156) Seraf1no,
в цикл и вывел все метки с адресами в балуны. Теперь другая проблема - как передать значение имени из ТЗ на форме в заголовок балуна.

ты же как то передаешь адреса, передавай и метки, а в функции вывода меток на карте получай переданную метку
159. Seraf1no 07.04.16 10:33 Сейчас в теме
(158) Sheff, если рассматривать передачу из 1С в JS, то адреса передаются через Adres, который в свою очередь в
ОбратнПоискАдреса
является Адрес, широта и долгота - это соответствуют CoordX и CoordY. Имена же я получаю запросом из РегистраСведений. Логика та же, что и с адресом, вы правы, но как передать имя неясно.
154. DirtyCat 06.04.16 18:19 Сейчас в теме
8.3.4.408 не пашет вызов функций из 1с в JS. API подключаю так:

<meta http-equiv="X-UA-Compatible" content="IE=9"></meta>
<script src="http://api-maps.yandex.ru/2.1.34/?lang=ru_RU></script>

В платформе затык или каким-нибудь хитрым способом надо?
155. Smaylukk 795 06.04.16 22:14 Сейчас в теме
(154) DirtyCat, пробуйте играться с параметром "IE"
157. Sheff 07.04.16 09:50 Сейчас в теме
(154) DirtyCat,
<met a http-equiv="X-UA-Compatible" content="IE=9"></meta>
<sc ript src="http://api-maps.yandex.ru/2.1.34/?lang=ru_RU></sc ript>

В платформе затык или каким-нибудь хитрым способом надо?


Нужно IE = 8
<met a http-equiv="X-UA-Compatible" content="IE=8"></meta>
160. DirtyCat 08.04.16 09:45 Сейчас в теме
Sheff, да ты прав. с ie=8 заработало, но только на локальном пк, а на сервере че то тупит (2008 R2). карта открывается только в режиме ie=9, на 8 нет. либо политики ковырять надо либо хз. версия explorer одинаковая 11я.
161. Sheff 11.04.16 16:01 Сейчас в теме
(160) DirtyCat,
Если на серве 2008R2 то это политики безопасности IE. Можешь добавить адрес карт в доверенные узлы.
wmonref1; +1 Ответить
162. Spectr62 12.05.16 14:21 Сейчас в теме
Добрый день. Подскажите, пожалуйста, в чем может быть причина следующей ошибки: MarkerClusterer не определено
163. Smaylukk 795 13.05.16 19:29 Сейчас в теме
(162) AzardGroup, пока ее не встречал, поэтому не могу подсказать что к чему.
165. Misanets 336 26.05.16 10:02 Сейчас в теме
(162) AzardGroup, (164) Al-77, Кто-нибудь решил проблему с картами Google, в частности с ошибкой "MarkerClusterer" не определено?

Прикрепленные файлы:
166. RUDSOFT 20 07.06.16 16:54 Сейчас в теме
(165) Misanets, я решил, там проблема в том что Гугл сменил адрес Api
надо сменить
<script type="text/javascript" src="http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/src/markerclusterer.js"></script>
на
<script type="text/javascript" src="https://cdn.rawgit.com/googlemaps/js-marker-clusterer/gh-pages/src/markerclusterer.js"></script>

и создание кластера

mcOptions = {averageCenter: true, gridSize: 50, maxZoom: 15, imagePath: 'https://cdn.rawgit.com/googlemaps/js-marker-clusterer/gh-pages/images/m'};
clusterer = new MarkerClusterer(myMap, markers, mcOptions);


только теперь проблема с полигонами, не могу разобраться... возможно дело в том что гугл перестал поддерживает старые браузеры типа IE8
если сохранить пример в html, то в хроме всё запускается нормально, а вот в IE8 пишет, что браузер не поддерживается
167. scream2000 21.06.16 13:56 Сейчас в теме
(166) RUDSOFT, Выбор конкретной версии апи (более старой, например 3.01) гугла решает проблему
164. Al-77 65 25.05.16 22:00 Сейчас в теме
Гугл что то ругается при создании карты и любого события (( ошибка такая MarkerClusterer не определено
168. Shamzelia 23.06.16 15:05 Сейчас в теме
мдя, вообщем готового решения нет....
169. Shamzelia 23.06.16 18:06 Сейчас в теме
Ну что, Есть кто допилил ?
174. andrey-st 18.07.16 09:37 Сейчас в теме
175. madonov 155 19.07.16 10:24 Сейчас в теме
Кто победил очередное обновление API от яндекса?

Под IE = 8 Ошибки сыпятся при загрузке карты.
Под IE = 9 Карта грузится, по дальше ошибка "метод объекта не обнаружен - eval", которая возникает в куске кода:
ЭлементыФормы.Эксплорер.Документ.parentWindow.eval("Reset()");


Пробовал разные версии API - живой вариант не нашел.
176. Smaylukk 795 19.07.16 14:36 Сейчас в теме
(175) madonov, eval в IE=9 и выше не работают из соображений безопасности.
Как исправить ответил в (171) - но есть условности.
Опишу еще раз - в макет добавляем две input'а скрытых (в самой обработке есть).
И вместо вызова eval, передаем в значение одного input'а код и вызываем клик у другого.
Это реализовано в управляемых формах обработки
177. madonov 155 22.07.16 09:07 Сейчас в теме
(176) Большое спасибо за наводку. Карта снова работает.
Но есть баг - работает она только до переоткрытия.

То есть, если закрыть обработку, а потом снова запустить, то при работе возникает ошибка
{Обработка.РаботаСКартами.Форма.Форма.Форма(608)}: Ошибка при вызове метода контекста (click)
ЭлементыФормы.Эксплорер.document.getElementById("WebClient").click();
по причине:
Произошла исключительная ситуация (htmlfile): Не удалось завершить действие. Ошибка 8070000b.


Перезапускаешь программу целиком - снова всё работает.
Переоткрываешь обработку - ошибка.
Поглядел процедуры "При закрытии" обычной и управляемой формы - разницы не увидел. Временные файлы при закрытии подчищаются.

Не подскажешь, куда копать?
178. Smaylukk 795 22.07.16 12:27 Сейчас в теме
(177) madonov, подскажу.
Это все баг платформы.
Тестировал на 8.3.4 и 8.3.7 - такая же ошибка.
Только на последней версии 8.3.8 все заработало без ошибок.
179. madonov 155 26.07.16 03:07 Сейчас в теме
(178) сегодня часик поковырялся
Временные файлы 1С складывает в \AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\ , однако их чистка не помогает.
Проблема где-то на уровне взаимодействия платформы и mshtml.dll. При повторном запуске в COM-объект передается какой-то бред.

Придется убрать у формы обработки кнопку закрытия =)).
180. Smaylukk 795 29.07.16 15:34 Сейчас в теме
Обновлена обработка:
[*] Отказ от использования метода eval() в обычных формах
[*] Перевод работы макетов в режим совместимости IE=9 и больше - открываются больше возможностей карт и меньше ошибок.
[*] Перевод 2GIS на API 2.0
[-] 2GIS - в версии 2.0 отсутствует встроенный js-геокодер
[*] Google-map - исправлена проблема с кластеризатором
[-] На версиях 1С ниже 8.3.7 при повторном открытии возможно отключение функционала HTML-документа. Скорее всего это внутрення ошибка платформы, которые исправлена в более поздних версиях.
mephistofel; madonov; +2 Ответить
187. a3a 10 16.08.16 05:42 Сейчас в теме
(180) Странно, у меня не работает, но и ошибок не выдает. просто полез в отладчик даже ни
ЭлементыФормы.Эксплорер.document.getElementById("WebClientOperation").value = "Reset()";
ни
ВыполнитьСкрипт("Reset()");
ни
ЭлементыФормы.Эксплорер.document.getElementById("Reset()"); не работают. вч чем может быть проблема?
188. Smaylukk 795 16.08.16 09:28 Сейчас в теме
(187) a3a, если не работает именно эта обработка, которая обновлена, то единственное, что приход на ум - это связано с IE. Либо его настройки, либо его обновить надо.
ЭлементыФормы.Эксплорер.document.getElementById("WebClientOperation").value = "Reset()"; работать не будет, т.к. нужно еще сэмулировать нажатие на элемент "WebClient"

ЭлементыФормы.Эксплорер.document.getElementById("Reset()"); - это вообще непонятная конструкция.
191. a3a 10 17.08.16 05:53 Сейчас в теме
(188) да, в этой обработке.
а ЭлементыФормы.Эксплорер.document.getElementById("Reset()");
имелось ввиду через Eval()
или ЭлементыФормы.Эксплорер.document.Reset(); раньше в IE = 8 работали.
194. Smaylukk 795 19.08.16 14:00 Сейчас в теме
(191) a3a, карты яндекса в новой версии обработки переведены на поддержку IE=9. Там eval() недоступно в целях безопасности.
Как я и писал ранее - скорее всего проблема кроется в браузере.
В макете Яндекса пропишите alert'ы, чтобы узнать - заходит вызывается метод или нет.
181. user595298_s.ivankin 02.08.16 17:37 Сейчас в теме
Яндекс 27-ого числа выключил 2.0.42 и у меня сломалась мега обработка по прорисовке областей.
Дайте ссылку на обработку, а то StartMoney совсем нет.
182. mephistofel 02.08.16 23:30 Сейчас в теме
Спасибо за обработку! Версия от 29 июля работает без ошибок. :-)
183. Yashazz 2906 10.08.16 15:04 Сейчас в теме
Может, я чего не понял, но на гугле синим по белому написано: "Для всех приложений Google Maps Geocoding API требуется аутентификация с помощью ключа API.", а автор утверждает, что ключ не нужен. Итак?
184. Smaylukk 795 11.08.16 10:00 Сейчас в теме
(183), да, вы не поняли.
Я не утверждал, что не нужен ключ для гугл-карт. В статье написано, что не нужен ключ для этой обработки.
Т.е. она без него нормально пока отображает карту. Ну а в руководстве написано что он нужен.
Так что со временем, я думаю, отключат возможность пользоваться без ключа.
185. Oleeeg 11.08.16 15:50 Сейчас в теме
А кто подскажет как при построении маршрута на метках выводить текст что указан в таблице точек а не просто "1", "2" и т.д.??
186. Smaylukk 795 12.08.16 16:45 Сейчас в теме
(185), в песочнице Яндекса можно найти пример. И по нему уже реализовать себе.
К примеру - https://tech.yandex.ru/maps/jsbox/2.1/multiroute_view_options
190. milk911 16.08.16 12:37 Сейчас в теме
Ребят, а какой код обработчика ONCLICK у WebClient для Yandex карт?
Спасибо!
192. V1V 113 19.08.16 07:26 Сейчас в теме
В терминальном режиме не прорисовывает карту. Точки, подписи показывает, а самой карты нет. Это настройки IE или на сервере какой-то доступ не предоставлен к сайту яндекса? Доступ открывали к https://api-maps.yandex.ru/2.1/?lang=ru_RU и https://geocode-maps.yandex.ru. Может еще куда-то надо?
193. Smaylukk 795 19.08.16 13:57 Сейчас в теме
(192), настройте еще свойства обозревателя в IE.
Я не знаю что именно поможет, но начать можете с активных сценариев.
195. recon 35 25.08.16 17:06 Сейчас в теме
Подскажите как можно отключить тулбар на яндекс картах в 1С (строка поиска, переключатель типа карт и т.д.)?
В документации нашел вот это https://tech.yandex.ru/maps/doc/jsapi/1.x/dg/tasks/how-to-add-map-controls-docpage/
Но попытка вставить код в процедуру инициализации карты init() (там где доступен объект map) приводит к ошибкам
196. DeniNikitin 33 20.09.16 18:26 Сейчас в теме
Подскажите как можно реализовать и можно ли вообще при клике на метку автоматически увеличивать масштаб карты?
197. DeniNikitin 33 21.09.16 08:37 Сейчас в теме
(196) DeniNikitin,

Реализовал так!

myMap.geoObjects.events.add('click', function(e) {
var targetObject = e.get('target');

if (targetObject.geometry.getType() === 'Point') {
myMap.setCenter(targetObject.geometry.getCoordinates(), FOCUS_ZOOM, {
checkZoomRange: true
});
}
});
198. V_K 22.09.16 06:31 Сейчас в теме
А у вас не возникает ошибка при работе с яндекс картами "Не удалось получить свойство toUpperCase"?
199. Дмитрий_кдс 22.09.16 10:52 Сейчас в теме
Добрый день. Подскажите, как обойти проблему Eval() на обычных формах?
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Руководитель проектов 1С
Санкт-Петербург
Полный день

Программист 1С
Новосибирск
зарплата от 80 000 руб. до 150 000 руб.
Полный день

Программист 1С
Красноярск
зарплата от 50 000 руб.
По совместительству

Технический лидер, архитектор 1С, руководитель проектов
Санкт-Петербург
зарплата от 150 000 руб.
Полный день

Бизнес-архитектор 1С, ведущий консультант
Санкт-Петербург
Полный день