Удобное API для работы с Yandex картами (8.1, с незначительными доработками 8.2) + Пример использования

14.11.11

Интеграция - WEB-интеграция

В одном из моих проектов возникла задача: "Отобразить на карте список произвольных адресов".
Я разделил её на 2 части:
1. Создание удобного API.
2. Решение задачи с помощью API.

Вашему вниманию предлагаю API + Пример использования в прикладном решении.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
APIYandexMap+Example
.epf 15,50Kb
581
581 Скачать бесплатно

Общее описание

API находится в Модуле обработки, пример использования в модуле формы.

API осуществляет:

  1. Геокодирование (преобразование адреса в координаты).
  2. Генерацию HTML кода для отображения в поле HTML документа.
  3. Поддерживается настройка цвета и вида отображаемой метки.

Принцип работы


1. Получить пустую ТЗ для заполнения с помощью функции: ИнициализироватьТЗАдресов функция в качестве параметров может принять уже существующую ТЗ, в этом случае в ТЗ будут добавлены необходимые колонки (Проверка на существования колонок не осуществляется). 

Структура ТЗ:

  • "Адрес"
  • "Широта"
  • "Долгота"
  • "ТипМетки"
  • "ЦветМетки"
  • "ОписаниеМетки"
  • "ДополнительноеОписание"

2. Заполнить ТЗ добавив адреса которые необходимо отобразить на карте, Широту и Долготу можно не указывать они будут заполнены позже, при вызове функции: "ПолучитьHTMLСУстановленнымиМетками". При желании можно вызвать геокодер отдельно через "ПроверитьИЗаполнитьКоординатыДляАдресовИзИсточника" на вход процедура принимает ТЗ. 

Так же для каждого адреса можно установить тип и цвет метки а так же дополнительную информацию для отображения на карте.

3. Вызвать функцию: ПолучитьHTMLСУстановленнымиМетками - данная функция вернёт код для отображения в поле HTML;

 

Тестовый пример:

Позволяет ввести список адресов в ручную или импортировать его из поля табличного документа (вкладка  Импорт).

 

При разработке использовались материалы с сайта Yandex и исходные коды нескольких похожих обработок с Infostart.

См. также

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    17886    19    22    

17

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20017    13    17    

17

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    14492    42    8    

18

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    1519    1    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. imozg 166 14.11.11 14:42 Сейчас в теме
Симпотично :) А адреса показывает?
2. VVi3ard 52 14.11.11 14:48 Сейчас в теме
Показывает текст который указан в колонке "ОписаниеМетки" или "ДополнительноеОписание" (дополнительное применимо не для всех типов меток).
В итоге не кто не мешает при заполнении ТЗ указать адрес в поле "ОписаниеМетки".

Собственно в прикладном решении в эти поля выводится много информации в т.ч. и адрес. В примере я делал минимум всего.
Спасибо за позитивный отзыв.
3. red80 14.11.11 23:07 Сейчас в теме
А можно это на обменник выложить? Например на narod.ru Инфостарт ни скачать, ни посмотреть не дает.
4. vdovinDS 16.11.11 09:01 Сейчас в теме
5. FroZen 02.03.12 21:17 Сейчас в теме
Проделанна большая работа. Спасибо.
6. ИгорьИгорян 02.03.12 21:20 Сейчас в теме
7. zipik 25.03.12 00:36 Сейчас в теме
8. 26178_mail.ru 58 14.11.12 02:33 Сейчас в теме
как проверить входит ли точка в многоугольник созданный функцией
var polygon = new YMaps.Polygon([ new YMaps.GeoPoint(37.7,55.7),
new YMaps.GeoPoint(37.7,55.8),
new YMaps.GeoPoint(37.8,55.8),
new YMaps.GeoPoint(37.8,55.7),
new YMaps.GeoPoint(37.7,55.7)
]);

map.addOverlay(polygon);
9. RakovskiyK 24.12.12 17:00 Сейчас в теме
почему то картинки не цепляет и как-то криво выделяет адреса, не исключаю кривых рук комментатора, но тем не менее почему то иконки изображений не выводяться.. что делать?

в целом, поняв, что должно получиться - я заранее доволен и заранее большой спасибо автору!
10. VVi3ard 52 24.12.12 21:15 Сейчас в теме
(9) RakovskiyK, а что не так? Можешь скриншот показать?
11. Boudybuilder 35 05.05.13 15:20 Сейчас в теме
Я вот с работой АРІ новичок.
Только только учусь.
Написал кожд , но что то на Яндекс Диске не авторизируется. Где у меня ошибка?


ЯДиск = Новый HTTPСоединение ("webdav.yandex.ru","443",,,,Истина);
ИмяФайла = ПолучитьИмяВременногоФайла();
ЯДиск.Получить("PROPFIND / HTTP/1.1
|Host: webdav.yandex.ru
|Accept: */*
|Depth: 0
|Authorization: Basic "+мЛогин+" : "+мПароль,ИмяФайла);

Вот не пойму , правильно я делаю или нет?
12. Boudybuilder 35 05.05.13 15:21 Сейчас в теме
Я вот с работой АРІ новичок.
Только только учусь.
Написал кожд , но что то на Яндекс Диске не авторизируется. Где у меня ошибка?


ЯДиск = Новый HTTPСоединение ("webdav.yandex.ru","443",,,,Истина);
ИмяФайла = ПолучитьИмяВременногоФайла();
ЯДиск.Получить("PROPFIND / HTTP/1.1
|Host: webdav.yandex.ru
|Accept: */*
|Depth: 0
|Authorization: Basic "+мЛогин+" : "+мПароль,ИмяФайла);

Вот не пойму , правильно я делаю или нет?
А то я весь интернет излазил , и ничего нормально так и не понял.
Может скачаю обработку какую то и на примере посмотрю
13. dismoitout 23 15.06.15 11:30 Сейчас в теме
Здравствутйе .
При попытке запустить в ут 10.3 пишет
что нет процедуры
ПолучитьИмяФайлаВДиалоге
14. simuljakr 203 25.08.15 12:20 Сейчас в теме
Здравствуйте.

А позволяет ли данная разработка сохранить расставленные точки, чтобы их могли видеть другие пользователи (уже через браузер)?
15. VVi3ard 52 25.08.15 16:12 Сейчас в теме
(14) simuljakr, нет.
Насколько я понимаю вам нужно что то типа такого:
https://static-maps.yandex.ru/1.x/?l=map&lang=ru-RU&ll=30.3139%2C59.93853&origin=jsapi-constructor&pt=30.39%2C59.92613%2Cpm2ntl~30.31518%2C59.93336%2Cpm2ywl&size=600%2C450&z=12

В обработке используется JavaScript API а для Вашей задачи нужен: https://tech.yandex.ru/maps/tools/constructor/

В общем то переделать обработку для того что бы она генерировала ссылку а не HTML формат ссылки:
pt=PlacemarkDefinition1~PlacemarkDefinition2~PlacemarkDefini­tion3...
Подробнее https://tech.yandex.com/maps/doc/staticapi/1.x/dg/concepts/markers-docpage/

Для доработки можно оставить часть геокодера как есть а часть отвечающую за формирование JavaScript переделать на формирование ссылки.

simuljakr; +1 Ответить
Оставьте свое сообщение