|
УФ: поле HTML документа с Яндекс.Картой в справочнике | ☑ | ||
---|---|---|---|---|
0
IKSparrow
08.09.13
✎
13:59
|
Возникла нужда в форме контрагента выводить (основываясь на его адресе) блок с картой с Яндекс.Карт. Нет ли у кого нибудь примерчика как реализовать или может основные шаги подскажете? Форму HTML документа я на форме контрагента разместил, а вот дальше затык.
|
|||
1
MadHead
08.09.13
✎
14:18
|
Вначале через сервис геокодера получаешь координаты
http://api.yandex.ru/maps/doc/geocoder/desc/concepts/input_params.xml потом ставишь метку http://api.yandex.ru/maps/doc/staticapi/1.x/dg/concepts/markers.xml |
|||
2
MadHead
08.09.13
✎
14:19
|
а вообще на инфостарте есть куча готовых примеров работы.
|
|||
3
shpioleg
08.09.13
✎
16:40
|
Дальше создаешь макет Текстовый документ и в нем для удобства секции. В макете будет HTML и JS. При создании на сервере склеиваешь все секции из макета в HTML страницу. У Яндекса получаешь API ключ и "куришь" мануалы по API карт. Чтобы из 1С вызвать функцию JS нужно создать на ХТМЛ странице скрытую кнопку, присвоить атрибуту name вызов JS функции, которая у нас для показа адреса (тут я хз почему не value присваиваем. Эту методу я сам подглядел) и вызывать ее метод Click. Вот так примерно,
На HTML странице будет <button id=""buttonJS"" style=""display: none;"" onclick = ""JSFrom1C()"" ></button> function JSFrom1C() { var ButtonJS = document.getElementById("buttonJS"); eval(ButtonJS.name); } |
|||
4
IKSparrow
08.09.13
✎
21:39
|
Вот нашёл такой примерчик, только не догоняю, как в поле HTML Документа свою страницу закачать.
Код: ЭтаФорма.Элементы.Карта.Документ.body.InnerHTML = КодХТМЛ; Не прокатывает. Делаю на УФ. |
|||
5
IKSparrow
08.09.13
✎
22:07
|
(4) О, разобрался. Строковому реквизиту поля присваеваем код html
|
|||
6
IKSparrow
08.09.13
✎
22:15
|
Вот только одного не пойму.
Как мне в поле HTML документа при нахождении адреса отцентрировать карту в окне так, чтобы метка адреса была видна. Она у меня внизу где-то получается. |
|||
7
IKSparrow
09.09.13
✎
09:08
|
Энибади хом?
|
|||
8
shpioleg
09.09.13
✎
09:23
|
(7)Вот посмотри.
|
|||
9
IKSparrow
09.09.13
✎
18:25
|
(8) Спасибо! Но, извиняюсь, несколько коряво объяснил, что требуется. Нужно масштабирование карты вместе с размером HTML-поля. Это реально? А то возникает вот такая ситуация:
http://i59.fastpic.ru/big/2013/0909/0a/4fb1c4a39292182485d97b5bb5b29f0a.png |
|||
10
IKSparrow
10.09.13
✎
06:50
|
апочки
|
|||
11
ИС-2
naïve
10.09.13
✎
07:18
|
<div id="OurYMap" style="width:800px; height:600px"></div>
У меня была такая же проблема. Все уперлось в то, что я не смог отловить событие при изменении окна 1C и не смог нормально определить разрешение экрана. Пользователям объяснял, что так сделано не для широкоформатных мониторов :) Я сейчас сам активно работаю с Яндекс-картами. Многие вопросы тут поднимал. См. мои темы |
|||
12
shpioleg
10.09.13
✎
08:45
|
(9) Если тебе нужно растягивать карту по ширине окна, то можно изменить (11) на
<div> id="YMapsID"style="height:600px;margin:30px 10px"></div> По центру поля HTML мне не удалось поместить карту фиксированной ширины,применяя отступ margin: 30px auto. А если тебе нужно менять масштаб карты в зависимости от размера поля HTML, то тут, похоже, надо пробовать на JS отлавливать событие. Типа window.onresize. |
|||
13
IKSparrow
10.09.13
✎
08:55
|
(11) (12) Спасибо! Пошёл курить мануалы.
|
|||
14
ИС-2
naïve
10.09.13
✎
09:05
|
(12) спасибо. То что мне и надо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |