![]() |
|
Работа с мобильной платформой на 8,3 | ☑ | ||
---|---|---|---|---|
0
mzelensky
07.04.14
✎
15:48
|
Доброго всем.
Сижу ковыряюсь с мобильной платормой на 8.3. Надыбал пару статей с примерами получения ГПС координат. По сути все сводится к вызову метода: СредстваГеопозиционирования.ОбновитьМестоположение(ТекущийПровайдер, 5); Но вот возникли странные сомнения - сдается мне, что работает данная фишка ТОЛЬКО при включенном интернете (а вот активация ГПС датчика ей вообще по барабану). Если инета нет, то он подсовывает данные предыдущего подключения (старого). Кто юзал и разбирался с данным функционалом, подскажите??? |
|||
1
Широкий
07.04.14
✎
15:52
|
Провайдера найди самого точного
|
|||
2
Широкий
07.04.14
✎
15:52
|
Дарю:
Функция ПолучитьГеометку() Экспорт #Если МобильноеПриложениеКлиент Тогда ИмяПровайдера="gps"; ГеоПровайдер=СредстваГеопозиционирования.ПолучитьПровайдера(ИмяПровайдера); Если ГеоПровайдер=Неопределено Тогда Предупреждение("Не найден провайдер геопозиционирования",2); Возврат Неопределено; КонецЕсли; Если Не СредстваГеопозиционирования.ОбновитьМестоположение(ИмяПровайдера, 60) Тогда Предупреждение("Не удалось получить данные от провайдера геопозиционирования",2); Возврат Неопределено; КонецЕсли; ДанныеМестоположения=СредстваГеопозиционирования.ПолучитьПоследнееМестоположение(ИмяПровайдера); Если ДанныеМестоположения=Неопределено Тогда Предупреждение("Не удалось получить данные от провайдера геопозиционироваввния",2); Возврат Неопределено; КонецЕсли; ДатаГеоМетки=ДанныеМестоположения.Дата; Если Не ЗначениеЗаполнено(ДатаГеоМетки) Или ДатаГеоМетки<Дата("01.01.2014 00:00:00") Тогда Предупреждение("Не удалось получить данные от провайдера геопозиционироваввния",2); Возврат Неопределено; КонецЕсли; Координаты=ДанныеМестоположения.Координаты; СтруктураПараметров=Новый Структура; СтруктураПараметров.Вставить("Дата",ДатаГеоМетки+глОбщегоНазначенияКлиентСервер.ВернутьНастройкуБазы("СмещениеВремени")); СтруктураПараметров.Вставить("Координаты",Формат(Координаты.Широта,"ЧЦ=8; ЧДЦ=6")+"-"+Формат(Координаты.Долгота,"ЧЦ=8; ЧДЦ=6")); Возврат СтруктураПараметров; #Иначе Возврат Неопределено; #КонецЕсли КонецФункции |
|||
3
mzelensky
07.04.14
✎
15:56
|
(1) Спасибо конечно, но все же вопрос мой не в этом.
|
|||
4
mzelensky
07.04.14
✎
15:57
|
(2) Ты подскажи - вот все это работает только с включенным инетом или без интернета тоже???
|
|||
5
mzelensky
07.04.14
✎
15:58
|
(4) ну и кстати я делаю аналогично. Точнее я подсмотрел как один чел предлагает (не ты случайно):
http://infostart.ru/public/256078/ |
|||
6
Широкий
07.04.14
✎
16:02
|
(4) Смотря какого провайдера ты выбрал.
Если a-gps - то соотв. нужен инет. |
|||
7
Широкий
07.04.14
✎
16:03
|
(4) В моем случае - нужны только пойманные спутники
|
|||
8
mzelensky
07.04.14
✎
16:18
|
(7) А где-нить есть описание этих проввайдеров?
Я видел есть функция "получитьСписокДоступных", но я так понимаю там нет описания в чем разница и за что каждый отвечает? |
|||
9
Широкий
07.04.14
✎
16:42
|
(8) Юзай "GPS" , не ошибешься
|
|||
10
mzelensky
07.04.14
✎
16:43
|
(9) В примере, что я нашел в (5) юзают так:
ТекущийПровайдер = "gps"; Попытка ДМ = СредстваГеопозиционирования.ПолучитьПоследнееМестоположение(ТекущийПровайдер); Исключение ДМ = Неопределено; КонецПопытки; Если ДМ = Неопределено Тогда ТекущийПровайдер = "network"; Попытка ДМ = СредстваГеопозиционирования.ПолучитьПоследнееМестоположение(ТекущийПровайдер); Исключение ДМ = Неопределено; КонецПопытки; КонецЕсли; Т.е. я так понимаю - сперва пытается по спутникам, но если не нашел, то лезет через инет. Верно? |
|||
11
Зойч
07.04.14
✎
16:45
|
для всех сотовых нужен инет чтоб жпс заработал
|
|||
12
Широкий
07.04.14
✎
16:50
|
(10) Ну да
|
|||
13
Широкий
07.04.14
✎
16:51
|
+12 Только накой сдался не точный провайдер?
|
|||
14
mzelensky
07.04.14
✎
16:57
|
(12) А какие ты считаешь "Точными"? ну кроме "GPS" ?
(11) ну вроде как не для всех... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |