Тип: ТочкиМноготочечногоОбъектаГеографическойСхемы. Содержит коллекцию координат, входящих в многоточечный объект.
Полное описание, параметры и ограничения
МноготочечныйОбъектГеографическойСхемы.Точки (GeographicalSchemaObjectMultiPoint.Points)
МноготочечныйОбъектГеографическойСхемы (GeographicalSchemaObjectMultiPoint)
Точки (Points)
Доступен, начиная с версии 8.0.
Использование:
Только чтение.
Описание:
Тип: ТочкиМноготочечногоОбъектаГеографическойСхемы.
Содержит коллекцию координат, входящих в многоточечный объект.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Отобразить несколько учебных адресов одним многоточечным объектом
Один объект хранит две координаты и единый ключ; пример показывает разницу между количеством объектов и количеством точек.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Собственная учебная база 8.5.1.1343, толстый клиент Windows. ГеографическаяСхема из этого урока недоступна в тонком/веб-клиенте: не вставляйте код в тонкий клиент.
Создайте отдельную внешнюю обработку с управляемой формой, командой Выполнить и кнопкой этой команды. Вставьте весь код одного урока в модуль формы; назначьте команде обработчик Выполнить.
Каждый запуск создаёт новую схему в локальной переменной. Реквизиты карты и макеты не нужны; готовые карты, SHP, GPS и сервисы карт не загружаются.
Точки и зоны вымышленные учебные объекты. Координаты заданы в градусах, высота в метрах; это не местоположение пользователей или реальных заказов.
На схеме нет подложки с границами стран/дорогами. Это собственная геометрия, а не полноценный навигатор. Показать открывает отдельное окно схемы.
Запускайте уроки по одному. Статические проверки сверяют API установленной справки, но отрисовка и геометрические операции в 1С пока не проверены запуском.
&НаКлиенте
Процедура Выполнить(Команда)
Схема = Новый ГеографическаяСхема;
Схема.Обновление = Ложь;
Схема.Проекция = ТипПроекцииГеографическойСхемы.ЦилиндрическаяРавноудаленнаяПроекция;
Схема.СмещениеШироты = 0;
Схема.СмещениеДолготы = 0;
Пункты = Схема.Слои.Добавить("УчебныеПункты", Тип("ТочечныйОбъектГеографическойСхемы"));
Пункты.Текст = "Учебные пункты";
Пункты.Видимость = Истина;
Пункты.РазрешитьВыбор = Истина;
ПунктА = Пункты.Объекты.Добавить();
ПунктА.Значение = "guide-point-A";
ПунктА.Координаты = Новый ГеографическиеКоординаты(55, 37, 100);
ПунктА.Видимость = Истина;
ПунктА.ТипОтрисовки = ТипОтображенияТочечногоОбъектаГеографическойСхемы.Маркер;
ПунктА.Маркер = ТипМаркераГеографическойСхемы.БольшойКруг;
ПунктА.Цвет = Новый Цвет(25, 95, 180);
ПунктА.ОтображатьДанные = Ложь;
ПунктА.Подсказка = "Вымышленный пункт А; только учебные данные";
ПунктА.Расшифровка = Новый Структура("УчебныйКод", "guide-point-A");
ПунктБ = Пункты.Объекты.Добавить();
ПунктБ.Значение = "guide-point-B";
ПунктБ.Координаты = Новый ГеографическиеКоординаты(55.1, 37.2, 110);
ПунктБ.Видимость = Истина;
ПунктБ.ТипОтрисовки = ТипОтображенияТочечногоОбъектаГеографическойСхемы.Маркер;
ПунктБ.Маркер = ТипМаркераГеографическойСхемы.БольшойТреугольник;
ПунктБ.Цвет = Новый Цвет(35, 145, 75);
Группы = Схема.Слои.Добавить("УчебныеГруппы", Тип("МноготочечныйОбъектГеографическойСхемы"));
Группы.Текст = "Вымышленные точки одной группы";
Группа = Группы.Объекты.Добавить();
Группа.Значение = "guide-group-001";
Группа.Видимость = Истина;
Группа.ОтображатьДанные = Ложь;
Группа.Подсказка = "Один объект с двумя координатами";
Группа.Расшифровка = "guide-group-001";
Группа.ТипОтрисовки = ТипОтображенияТочечногоОбъектаГеографическойСхемы.Символ;
Группа.Символ = "G";
Группа.ШрифтСимвола = Новый Шрифт("Arial", 12);
Группа.Цвет = Новый Цвет(165, 60, 145);
Группа.ПоложениеОпорнойТочки = ПоложениеОпорнойТочкиОтрисовки.Центр;
Группа.Маркер = ТипМаркераГеографическойСхемы.МаленькийКвадрат;
Группа.Точки.Добавить(Новый ГеографическиеКоординаты(55.03, 37.04));
Группа.Точки.Добавить(Новый ГеографическиеКоординаты(55.08, 37.15));
Сообщить(Группы.Объекты.Количество() = 1);
Сообщить(Группа.Точки.Количество() = 2);
Сообщить(Группа.Точки.Индекс(Группа.Точки.Получить(0)) = 0);
Группа.Точки.Сдвинуть(0, 1);
Сообщить(Группа.Точки.Получить(0).Широта = 55.08);
Группа.Точки.Сдвинуть(1, -1);
Группа.Точки.Добавить(Новый ГеографическиеКоординаты(55.09, 37.19));
Группа.Точки.Удалить(Группа.Точки.Получить(2));
Сообщить(Группа.Точки.Количество() = 2);
Сообщить(Группа.Слой = Группы);
Сообщить(ТипЗнч(Группа.ОграничивающийПрямоугольник) = Тип("ПрямоугольникГеографическойСхемы"));
ВременнаяГруппа = Группы.Объекты.Добавить();
ВременнаяГруппа.Точки.Добавить(Новый ГеографическиеКоординаты(55, 37));
ВременнаяГруппа.Точки.Очистить();
Группы.Объекты.Удалить(ВременнаяГруппа);
ПунктА.ТипОтрисовки = ТипОтображенияТочечногоОбъектаГеографическойСхемы.Символ;
ПунктА.Символ = "A";
ПунктА.ШрифтСимвола = Новый Шрифт("Arial", 12);
ПунктА.ПоложениеОпорнойТочки = ПоложениеОпорнойТочкиОтрисовки.Центр;
Схема.Обновление = Истина;
Схема.Показать("Собственная учебная схема — guide-owned-geo");
КонецПроцедурыРазбор по шагам
Новый слой имеет тип МноготочечныйОбъектГеографическойСхемы. Один объект может содержать несколько координат; у него общий идентификатор и оформление.
Коллекция Точки добавляет ГеографическиеКоординаты, а не строковые адреса. Геокодирования нет.
ТипОтрисовки Символ использует Символ и ШрифтСимвола. Маркер заранее настроен для возможного переключения, но в режиме Символ не выдаётся за активный стиль.
Сдвиг и удаление выполняются на собственных координатах. Для Очистить создана отдельная временная группа, удалённая до показа.
ПоложениеОпорнойТочки задаёт опору отрисовки картинки; пример сохраняет настройку, но не обещает видимый эффект в режиме Символ.
Пункт А также показан буквой A, чтобы визуально отличить его от общего символа G группы.
Как проверить результат
Семь проверок ожидаются Истина; группа содержит две координаты, но слой содержит один объект.
На собственном толстом клиенте должны быть две буквы G и пункт A. Позиция/шрифт требуют фактической визуальной проверки.
Ожидаемый результат
Различаются топологический объект и его отдельные координаты; показаны коллекции и символы без внешних данных.
На что обратить внимание
Если каждому адресу нужны разные данные/стиль, создавайте отдельные точечные объекты, не одну многоточечную группу.
Удалить принимает объект координаты. Номер 2 в Получить — индекс, а не сама координата.
Настройка Маркер не меняет режим Символ автоматически.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Оформить заголовок и легенду собственной схемы
Настраиваем три отдельные области схемы и создаём образец картинки из собственной учебной геометрии, не загружая чужие изображения.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Собственная учебная база 8.5.1.1343, толстый клиент Windows. ГеографическаяСхема из этого урока недоступна в тонком/веб-клиенте: не вставляйте код в тонкий клиент.
Создайте отдельную внешнюю обработку с управляемой формой, командой Выполнить и кнопкой этой команды. Вставьте весь код одного урока в модуль формы; назначьте команде обработчик Выполнить.
Каждый запуск создаёт новую схему в локальной переменной. Реквизиты карты и макеты не нужны; готовые карты, SHP, GPS и сервисы карт не загружаются.
Точки и зоны вымышленные учебные объекты. Координаты заданы в градусах, высота в метрах; это не местоположение пользователей или реальных заказов.
На схеме нет подложки с границами стран/дорогами. Это собственная геометрия, а не полноценный навигатор. Показать открывает отдельное окно схемы.
Запускайте уроки по одному. Статические проверки сверяют API установленной справки, но отрисовка и геометрические операции в 1С пока не проверены запуском.
&НаКлиенте
Процедура Выполнить(Команда)
Схема = Новый ГеографическаяСхема;
Схема.Обновление = Ложь;
Схема.Проекция = ТипПроекцииГеографическойСхемы.ЦилиндрическаяРавноудаленнаяПроекция;
Схема.СмещениеШироты = 0;
Схема.СмещениеДолготы = 0;
Пункты = Схема.Слои.Добавить("УчебныеПункты", Тип("ТочечныйОбъектГеографическойСхемы"));
Пункты.Текст = "Учебные пункты";
Пункты.Видимость = Истина;
Пункты.РазрешитьВыбор = Истина;
ПунктА = Пункты.Объекты.Добавить();
ПунктА.Значение = "guide-point-A";
ПунктА.Координаты = Новый ГеографическиеКоординаты(55, 37, 100);
ПунктА.Видимость = Истина;
ПунктА.ТипОтрисовки = ТипОтображенияТочечногоОбъектаГеографическойСхемы.Маркер;
ПунктА.Маркер = ТипМаркераГеографическойСхемы.БольшойКруг;
ПунктА.Цвет = Новый Цвет(25, 95, 180);
ПунктА.ОтображатьДанные = Ложь;
ПунктА.Подсказка = "Вымышленный пункт А; только учебные данные";
ПунктА.Расшифровка = Новый Структура("УчебныйКод", "guide-point-A");
ПунктБ = Пункты.Объекты.Добавить();
ПунктБ.Значение = "guide-point-B";
ПунктБ.Координаты = Новый ГеографическиеКоординаты(55.1, 37.2, 110);
ПунктБ.Видимость = Истина;
ПунктБ.ТипОтрисовки = ТипОтображенияТочечногоОбъектаГеографическойСхемы.Маркер;
ПунктБ.Маркер = ТипМаркераГеографическойСхемы.БольшойТреугольник;
ПунктБ.Цвет = Новый Цвет(35, 145, 75);
Схема.ОтображатьЗаголовок = Истина;
Схема.ОтображатьЛегенду = Истина;
Заголовок = Схема.ОбластьЗаголовка;
Заголовок.Текст = "Собственные учебные пункты — не реальные адреса";
Заголовок.Выравнивание = ГоризонтальноеПоложение.Центр;
Заголовок.Прозрачный = Ложь;
Заголовок.ПрозрачныйФон = Ложь;
Заголовок.ЦветТекста = Новый Цвет(25, 45, 65);
Заголовок.ЦветФона = Новый Цвет(240, 245, 250);
Заголовок.Шрифт = Новый Шрифт("Arial", 12);
Заголовок.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная, 1);
Заголовок.ЦветРамки = Новый Цвет(145, 165, 185);
Построение = Схема.ОбластьПостроения;
Построение.Прозрачный = Ложь;
Построение.ПрозрачныйФон = Ложь;
Построение.ЦветФона = Новый Цвет(255, 255, 255);
Построение.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная, 1);
Построение.ЦветРамки = Новый Цвет(180, 195, 210);
Легенда = Схема.ОбластьЛегенды;
Легенда.МасштабнаяЛинейка = Ложь;
Легенда.Прозрачный = Ложь;
Легенда.ПрозрачныйФон = Ложь;
Легенда.Цвет = Новый Цвет(25, 45, 65);
Легенда.ЦветФона = Новый Цвет(245, 248, 251);
Легенда.Шрифт = Новый Шрифт("Arial", 10);
Легенда.Рамка = Новый Рамка(ТипРамкиЭлементаУправления.Одинарная, 1);
Легенда.ЦветРамки = Новый Цвет(180, 195, 210);
УчебнаяСерия = Пункты.Серии.Добавить("УчебнаяПодпись");
УчебнаяСерия.ТипОтображения = ТипОтображенияСерииСлояГеографическойСхемы.Текст;
Пункты.УстановитьЗначение(ПунктА, УчебнаяСерия, "A");
Пункты.УстановитьЗначение(ПунктБ, УчебнаяСерия, "B");
ПервыйОбразец = Легенда.Элементы.Добавить();
ПервыйОбразец.Серия = УчебнаяСерия;
ПервыйОбразец.ТекстОбразца = "A/B";
ПервыйОбразец.ТекстПодписи = "Вымышленные учебные пункты";
ПервыйОбразец.ОтображатьШкалу = ТипОтображенияШкалыЭлементаЛегендыГеографическойСхемы.НеОтображать;
ПервыйОбразец.ЦветОбразца = Новый Цвет(25, 95, 180);
ПервыйОбразец.ШрифтОбразца = Новый Шрифт("Arial", 10);
Сообщить(Легенда.Элементы.Индекс(ПервыйОбразец) = 0);
Сообщить(Легенда.Элементы.Получить(0) = ПервыйОбразец);
ВременныйОбразец = Легенда.Элементы.Добавить();
ВременныйОбразец.ТекстПодписи = "Временный образец";
Легенда.Элементы.Сдвинуть(1, -1);
Сообщить(Легенда.Элементы.Получить(0) = ВременныйОбразец);
Легенда.Элементы.Удалить(ВременныйОбразец);
Сообщить(Легенда.Элементы.Количество() = 1);
Схема.Обновление = Истина;
СобственнаяКартинка = Схема.ПолучитьКартинку(32, 32, ФорматКартинки.PNG, Ложь);
Сообщить(ТипЗнч(СобственнаяКартинка) = Тип("Картинка"));
ПервыйОбразец.Картинка = СобственнаяКартинка;
ПунктБ.Картинка = СобственнаяКартинка;
ПунктБ.ТипОтрисовки = ТипОтображенияТочечногоОбъектаГеографическойСхемы.Картинка;
ПунктБ.ПоложениеОпорнойТочки = ПоложениеОпорнойТочкиОтрисовки.Центр;
СлойКартинок = Схема.Слои.Добавить("УчебныеКартинки", Тип("МноготочечныйОбъектГеографическойСхемы"));
Картинки = СлойКартинок.Объекты.Добавить();
Картинки.Точки.Добавить(Новый ГеографическиеКоординаты(55.06, 37.09));
Картинки.Картинка = СобственнаяКартинка;
Картинки.ТипОтрисовки = ТипОтображенияТочечногоОбъектаГеографическойСхемы.Картинка;
Картинки.ПоложениеОпорнойТочки = ПоложениеОпорнойТочкиОтрисовки.Центр;
ВременнаяСхема = Новый ГеографическаяСхема;
ВременнаяСхема.ОбластьЛегенды.Элементы.Добавить();
ВременнаяСхема.ОбластьЛегенды.Элементы.Очистить();
Сообщить(ВременнаяСхема.ОбластьЛегенды.Элементы.Количество() = 0);
Сообщить(Легенда.Элементы.Количество() = 1);
Схема.Обновление = Истина;
Схема.Показать("Собственная учебная схема — guide-owned-geo");
КонецПроцедурыРазбор по шагам
ОбластьЗаголовка, ОбластьЛегенды, ОбластьПостроения уже принадлежат схеме. Свойства областей можно менять, сами readonly-ссылки не заменяем.
Текст заголовка, фон, рамка и её цвет задаются независимо. Прозрачный и ПрозрачныйФон в справке имеют одинаковое описание; ставим одинаковое значение и не обещаем разные эффекты.
Масштабную линейку отключаем: учебная схема не является расчётом дорожных расстояний.
Элемент легенды содержит серию, образец и подпись. Очистить показан на другой новой схеме, основной образец не уничтожается.
ПолучитьКартинку делает PNG в памяти 32×32 из собственной схемы до назначения этой картинки пунктам. Это растровый снимок, не живая рекурсивная ссылка.
Та же собственная картинка назначается пункту Б, многоточечному объекту и образцу легенды. Для точек режим Картинка включается явно; опора Центр теперь относится к активному режиму.
Никакой PNG на диск не записывается и чужая картинка по URL не загружается. Маленький снимок нужен для демонстрации API, не выдается за хороший картографический значок.
Как проверить результат
Семь проверок ожидаются Истина; в основной легенде один образец, в временной ноль.
В собственном толстом клиенте проверьте заголовок, фон областей и картинки. Статический тест не доказывает точный внешний вид.
Ожидаемый результат
Показаны реальные области документа, коллекция легенды и картинка как стиль географического объекта.
На что обратить внимание
Шрифт Arial должен быть доступен на клиенте; фактическое оформление зависит от среды.
Растровый снимок не меняется автоматически при последующем изменении схемы.
Не использовать рекурсивное создание всё более крупных картинок и не задавать размеры из непроверенного ввода.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.