ГеографическиеКоординаты.Долгота

Свойства · Longitude

Тип: Число. Содержит долготу (в градусах).

Полное описание, параметры и ограничения

ГеографическиеКоординаты.Долгота (GeographicCoordinates.Longitude)

ГеографическиеКоординаты (GeographicCoordinates)

Долгота (Longitude)

Доступен, начиная с версии 8.3.3.

Использование:
Только чтение.
Описание:
Тип: Число.
Содержит долготу (в градусах).
Доступность:

Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

Использование в версии:

Доступен, начиная с версии 8.3.3.

Методическая информация

Практические примеры

Построить два собственных пункта на пустой географической схеме

Создаём слой точечных объектов, задаём координаты и идентификаторы; проверяем поиск и ограничивающий прямоугольник.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Собственная учебная база 8.5.1.1343, толстый клиент Windows. ГеографическаяСхема из этого урока недоступна в тонком/веб-клиенте: не вставляйте код в тонкий клиент.

  2. Создайте отдельную внешнюю обработку с управляемой формой, командой Выполнить и кнопкой этой команды. Вставьте весь код одного урока в модуль формы; назначьте команде обработчик Выполнить.

  3. Каждый запуск создаёт новую схему в локальной переменной. Реквизиты карты и макеты не нужны; готовые карты, SHP, GPS и сервисы карт не загружаются.

  4. Точки и зоны вымышленные учебные объекты. Координаты заданы в градусах, высота в метрах; это не местоположение пользователей или реальных заказов.

  5. На схеме нет подложки с границами стран/дорогами. Это собственная геометрия, а не полноценный навигатор. Показать открывает отдельное окно схемы.

  6. Запускайте уроки по одному. Статические проверки сверяют 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);
    Сообщить(Схема.Слои.Количество() = 1);
    Сообщить(Пункты.Имя = "УчебныеПункты");
    Сообщить(Пункты.ТипОбъектов = Тип("ТочечныйОбъектГеографическойСхемы"));
    Сообщить(Схема.Слои.Индекс(Пункты) = 0);
    Сообщить(Схема.Слои.Получить(0) = Пункты);
    Сообщить(Схема.Слои.Найти("Учебные пункты") = Пункты);
    Сообщить(Пункты.Объекты.Количество() = 2);
    Сообщить(Пункты.Объекты.Получить(0).Значение = "guide-point-A");
    Сообщить(Пункты.НайтиПоЗначению("guide-point-B") = ПунктБ);
    Сообщить(Пункты.НайтиПоЗначению("guide-missing") = Неопределено);
    Сообщить(ПунктА.Координаты.Широта = 55);
    Сообщить(ПунктА.Координаты.Долгота = 37);
    Сообщить(ПунктА.Координаты.Высота = 100);
    Сообщить(ПунктА.Слой = Пункты);
    Границы = Пункты.ОграничивающийПрямоугольник;
    Сообщить(Границы.ШиротаЮжнойГраницы <= 55 И Границы.ШиротаСевернойГраницы >= 55.1);
    Сообщить(Границы.ДолготаЗападнойГраницы <= 37 И Границы.ДолготаВосточнойГраницы >= 37.2);
    Сообщить(ТипЗнч(ПунктА.ОграничивающийПрямоугольник) = Тип("ПрямоугольникГеографическойСхемы"));
    Сообщить(ТипЗнч(Схема.ОграничивающийПрямоугольник) = Тип("ПрямоугольникГеографическойСхемы"));
    Схема.Обновление = Истина;
    Схема.Показать("Собственная учебная схема — guide-owned-geo");
КонецПроцедуры

Разбор по шагам

  1. Конструктор координат принимает сначала широту, затем долготу, затем необязательную высоту. Градусы не являются метрами расстояния.

  2. Тип объектов задаётся при Добавить слоя; Добавить объекта принимает ноль аргументов, а Координаты устанавливаются отдельно.

  3. Имя слоя служебное, Текст — его подпись. Согласно описанию коллекции Слои.Найти ищет по тексту, поэтому передана подпись Учебные пункты.

  4. Значение — собственный устойчивый ключ пункта. НайтиПоЗначению не ищет подсказку и не запрашивает адрес через интернет.

  5. ОграничивающийПрямоугольник рассчитывается по объектам; его поля только для чтения. Проверяем, что он охватывает оба пункта.

  6. На время построения обновление отключено, затем включено перед показом; это касается отрисовки, не записи базы.

Как проверить результат

  1. Восемнадцать булевых проверок ожидаются Истина; покажутся два маркера без картографической подложки.

  2. Наведите курсор на пункт А: подсказка поясняет учебный характер. Файлы и сеть не использованы.

Ожидаемый результат

Есть законченная небольшая схема с настоящими слоями, объектами, координатами и поиском.

На что обратить внимание

  1. Не выдавать эту геометрию за карту дорог или навигационный маршрут.

  2. Перестановка широты/долготы может дать допустимые, но неверные координаты.

  3. Прямоугольник не создаётся через Новый и не заполняется присваиванием readonly-полей.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Передать координаты учебной точки без запроса GPS

Широта/долгота заданы в градусах, высота — в метрах. Формируем простой JSON-контракт из явных числовых полей, не выдавая константы за ваше местоположение.

Где и как запускать

Полный клиентский модуль своей мобильной учебной формы. Только параметры в памяти, без датчиков, фото и записи файлов.

Подготовка

  1. Используйте собственную учебную форму поддерживаемого мобильного клиента/приложения. Создайте команду ВыполнитьПример и назначьте клиентский обработчик. Вставьте полный модуль одного урока.

  2. Примеры создают только собственные значения и параметры. Они не запрашивают геопозицию, не включают камеру, не делают снимок, не запускают сканирование и не сохраняют файл.

  3. Координаты и размеры — учебные константы, не результат датчика и не перечень поддерживаемых режимов вашего телефона. Для реального оборудования нужны отдельные проверки его API.

&НаКлиенте
Процедура ВыполнитьПример(Команда)
    Точка = Новый ГеографическиеКоординаты(55.75, 37.61, 180);
    Сообщить(Точка.Широта = 55.75);
    Сообщить(Точка.Долгота = 37.61);
    Сообщить(Точка.Высота = 180);
    Контракт = Новый Структура;
    Контракт.Вставить("latitude", Точка.Широта);
    Контракт.Вставить("longitude", Точка.Долгота);
    Контракт.Вставить("altitudeMeters", Точка.Высота);
    Запись = Новый ЗаписьJSON;
    Запись.УстановитьСтроку();
    ЗаписатьJSON(Запись, Контракт);
    Сообщить(Запись.Закрыть());
    Сообщить("Учебные константы; реальное местоположение не запрашивалось");
КонецПроцедуры

Разбор по шагам

  1. Конструктор получает широту первой, долготу второй, высоту третьей. Перестановка первых аргументов меняет смысл точки.

  2. Объект координат не содержит дату, скорость и точность измерения. Эти поля относятся к отдельному ДанныеМестоположения, получаемому реальным геопозиционированием.

  3. JSON строится из скалярных чисел. Имена latitude, longitude, altitudeMeters — собственный явный учебный контракт, не автоматически угаданный контракт Avito или картографического сервиса.

  4. ЗаписьJSON направлена в строку; не вызывает HTTP и не создаёт файл.

Как проверить результат

  1. Три Истина; JSON содержит latitude=55.75, longitude=37.61, altitudeMeters=180.

  2. Разрешение на GPS не запрашивается и координаты устройства не читаются.

Ожидаемый результат

Подготовлена типизированная точка и понятный учебный формат её передачи.

На что обратить внимание

  1. Не называйте константы фактической геопозицией пользователя.

  2. Не выводите из этих трёх полей точность измерения, дату или систему координат внешнего API.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.