|
Из Javascript? | ☑ | ||
---|---|---|---|---|
0
Santa4527
09.09.10
✎
15:08
|
КодХТМЛ = "
|<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd""> |<html xmlns=""http://www.w3.org/1999/xhtml""> |<head> | <title>Примеры. Геокодирование.</title> | <meta http-equiv=""Content-Type"" content=""text/html; charset=utf-8"" /> | <script src=""http://api-maps.yandex.ru/1.1/index.xml?key=ANpUFEkBAAAAf7jmJwMAHGZHrcKNDsbEqEVjEUtCmufxQMwAAAAAAAAAAAAvVrubVT4btztbduoIgTLAeFILaQ=="" type=""text/javascript""></script> | <script type=""text/javascript""> | var map, geoResult, Kopdinat1, Kopdinat2; // Создание обработчика для события window.onLoad | YMaps.jQuery(function () { // Создание экземпляра карты и его привязка к созданному контейнеру | map = new YMaps.Map(YMaps.jQuery(""#YMapsID"")[0]); // Установка для карты ее центра и масштаба | map.setCenter(new YMaps.GeoPoint(30.35, 59.55), 10); // Добавление элементов управления | var toolBar = new YMaps.ToolBar(); | map.addControl(toolBar); | map.addControl(new YMaps.Zoom()); | map.addControl(new YMaps.TypeControl()); | map.enableScrollZoom(); | }); // Функция для отображения результата геокодирования // Параметр value - адрес объекта для поиска | function showAddress (value) { // Запуск процесса геокодирования | var geocoder = new YMaps.Geocoder(value, {results: 1, boundedBy: map.getBounds()}); // Создание обработчика для успешного завершения геокодирования | YMaps.Events.observe(geocoder, geocoder.Events.Load, function () { // Если объект был найден, то добавляем его на карту // и центрируем карту по области обзора найденного объекта |if (this.length()) { | geoResult = this.get(0); //| geoResult = "+ Координаты +"; | map.addOverlay(geoResult); | map.setBounds(geoResult.getBounds()); |Kopdinat1 = geoResult._point.__lat; |Kopdinat2 = geoResult._point.__lng; //|"+ Координаты +" = Kopdinat1; | alert(geoResult._point.__lat); | alert(Kopdinat1); | alert(geoResult._point.__lng); | alert(Kopdinat2); | }else { | alert(""Ничего не найдено"") | } | }); // Процесс геокодирования завершен неудачно | YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (geocoder, error) { | alert(""Произошла ошибка: "" + error); | }) |} |function showA () { |showAddress('"+МассивАдресов+"') |} |</script> |</head> |<body onload = ""javascript:showA()""> | <div id=""YMapsID"" style=""width:800px;height:600px""></div> |</form> |</body> | |</html> |"; ЭлементыФормы.Карта2.УстановитьТекст(КодХТМЛ); Показан пример работы с яндекс картой. Возможно получение переменных Kopdinat1, Kopdinat2 для 1С (Чтобы например, записать эти переменные в справочник) |
|||
1
AquaKosh
09.09.10
✎
15:13
|
(0) Возможно.
|
|||
2
IronDemon
09.09.10
✎
15:15
|
Пример можно?
|
|||
3
AquaKosh
09.09.10
✎
15:16
|
||||
4
Santa4527
09.09.10
✎
15:37
|
Сделал новую обработку. В Форму обработки добавил ПолеHTMLДокумента. Сформировал текст КодХТМЛ2 и установил ЭлементыФормы.ПолеHTMLДокумента.УстановитьТекст(КодХТМЛ2);
но потом выдает ощибку Форма.Форма(15)}: Метод объекта не обнаружен (eval) ОтветJS = ЭлементыФормы.ПолеHTMLДокумента.Документ.parentWindow.eval("retTo1C()"); КодХТМЛ2 = " |<script type=""text/javascript""> |function retTo1C() { | var myCars = new Array(""Saab"",""Volvo"",""BMW""); | return myCars; |} |</script>"; ЭлементыФормы.ПолеHTMLДокумента.УстановитьТекст(КодХТМЛ2); ОтветJS = ЭлементыФормы.ПолеHTMLДокумента.Документ.parentWindow.eval("retTo1C()"); Для каждого ЭлементМассива Из ОтветJS Цикл Сообщить(ЭлементМассива); КонецЦикла; |
|||
5
Santa4527
09.09.10
✎
15:58
|
Как так? Но в чем проблема?
|
|||
6
AquaKosh
09.09.10
✎
17:19
|
(5) А, не, немного не так. Ты должен сделать переход (ЭлементыФормы.ПолеHTMLДокумента.Перейти) на страницу или макет, в которой присутствует функция "retTo1C()", иначе её в DOMе нету и эвалить нечего.
|
|||
7
AquaKosh
09.09.10
✎
18:12
|
(5) Автор, а тебе точно надо получать значения из скрипта сразу после установки текста? Или у тебя после установки текста идёт возврат в режим ожидания каких-либо действий от пользователя? ... Дело в том, что если делать 1 в 1 как в (4), то перед тем как вызывать "retTo1C()" надо вернуть 1С в режим ожидания. У меня есть рабочий пример из (4), могу выложить.
|
|||
8
Шурик71
09.09.10
✎
20:16
|
(7) Если не напряжно - выложи, интересно глянуть.
|
|||
9
Ковычки
09.09.10
✎
22:48
|
вообщето есть объект Script и колекция Scripts
а евал относится и не к доку и не к окну |
|||
10
Xbase1
09.09.10
✎
22:50
|
(9) вы постите), ваши записи в инете многие записывают в блокнот. хватит флуда )
|
|||
11
Ковычки
09.09.10
✎
22:56
|
ты иксбейс и есть ?
|
|||
12
Xbase1
09.09.10
✎
22:59
|
да олег но я думаю я тут не налолго, скучно тут одни и те же темы, ты лучше пиши решения я уже блокнот взял
|
|||
13
Ковычки
09.09.10
✎
23:10
|
по поводу (4)
ЭлементыФормы.ПолеHTMLДокумента.Документ.Script.retTo1C() может в влсьмерке конечно как нибудь и ограничено, но в семерке и скриптах именно так (12) ))), а где не скушно то |
|||
14
Xbase1
09.09.10
✎
23:25
|
(13) записано, не скучно на даче есть шашлык с симпотичными молодыми девушками, не скучно записывать твои решения, не скучно ругаться в рабочей атмосфере с бухгалтерами и зав магазинами ), не скучно вымотаться на рыбалке в поисках крупного хищника , а тут скучно )
|
|||
15
Asmody
09.09.10
✎
23:32
|
а ничего, что в примере (0) Kopdinat1 и Kopdinat2 это ни много, ни мало - свойства объекта window?
|
|||
16
Santa4527
10.09.10
✎
09:36
|
(7) Мне просто нужно получить эти значения.
(15) ну и что? Я просто не очень в javascript. А пример не помешал бы. |
|||
17
AquaKosh
10.09.10
✎
11:38
|
(8)(16) Вот пример получения и передачи данных в скрипт: http://ifolder.ru/19241311
|
|||
18
Santa4527
10.09.10
✎
12:09
|
(17)Спасибо!!! буду пробывать!
|
|||
19
Шурик71
10.09.10
✎
12:52
|
(17) Нет, в данном случае не прокатывает.
В смысле не то, что из скрипта не возвращается значение - а то, что в _этот_ момент не работает. И, кстати, действительно, обращение типа ... Координата1 = ЭлементыФормы.Карта2.Документ.parentWindow.Kopdinat1; ... проще, чем через eval. Но тут проблема в том, что сначала страница отображается, скрипт инитится (переменные появляются), страница появляется, в 8-ке генерится евент ДокументСформирован, в этот момент координаты = НЕОПРЕДЕЛЕНО; а только потом - скриптом идет позиционирование на адресе и его геокодирование... Я, правда, точно во всем этом не уверен, но в обработчике ДокументСформирован координаты равны 0; но если потом определить координаты кнопкой - то координаты на месте. А хотелось бы без лишних телодвижений... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |