Joss Опубликовано 16 сентября, 2016 Поделиться Опубликовано 16 сентября, 2016 Вызов навигационной программы из стороннего приложения производится следующим образом (исх. код на Java с использованием Android API): try { Intent intent=new Intent(); intent.setAction(Intent.ACTION_SEND); intent.setType("vnd.android.cursor.item/vnd.net.probki.cityguide.cmd"); intent.setPackage("cityguide.probki.net"); // здесь указывается имя пакета программы intent.putExtra(Intent.EXTRA_TEXT,"cgcmd ..."); // здесь вместо ... пишутся команды startActivity(intent); } catch(Exception ex) { } Имена пакетов для setPackage следующие: - "cityguide.probki.net" для программы CityGuide (как указано в примере выше) - "net.probki.geonet" для программы GeoNet - "net.probki.bgeo" для программы bGeo Внимание! Параметр setType("vnd.android.cursor.item/vnd.net.probki.cityguide.cmd") для всех программ остается неизменным. Вызов Intent приводит к тому что навигационная программа запускается (если не была до этого запущена) и выходит на передний план. Команды задаются строкой как EXTRA_TEXT для Intent. Если строку не задавать, то навигационная программа просто выводится на передний план. Командная строка должна начинаться с ключевого слова cgcmd. Если это не так, то вся строка полностью игнорируется. Каждая команда состоит из ключевого слова, за которым могут следовать несколько параметров, разделенных пробелами. Поддерживаются следующие команды: delroute Удалить текущий маршрут. Дополнительных параметров нет. setroute <N> <lat1> <lon1> <lat2> <lon2> ... Задать маршрут. Параметры: <N> - количество точек маршрута. Последняя точка является финишем, остальные - промежуточными точками маршрута. Далее следуют <N> пар "широта долгота", заданные в градусах. Например: setroute 1 60.367 30.5 view <lat> <lon> <orient> <incline> <scale> Задать отображение карты. Параметры: <lat> <lon> - широта и долгота точки отображения в градусах. Можно указать 0 0, тогда точка не меняется. <orient> - поворот карты. Целочисленное значение в градусах в пределах от -360 до +360. При других значениях поворот карты не меняется. <incline> - наклон перспективы. Целочисленное значение в градусах от 0 до 80. При отрицательном значении наклон не меняется. <scale> - масштаб отображения. Целочисленное значение знаменателя. При значении 0 масштаб не меняется. hide Убрать навигационную программу с экрана в фоновый режим. Дополнительных параметров нет. Команда имеет смысл если программа находится на переднем плане. Несколько команд можно указывать друг за другом в одной строке. Пример общей командной строки: "cgcmd delroute setroute 1 60.367 30.5 view 60.367 30.5 361 -1 100000" Это означает: - Удалить имеющийся маршрут. - Задать новый маршрут единственной точкой финиша в координатах <60.367N 30.5E>. - Отобразить заданные координаты на экране в масштабе 1:100000, не меняя поворота карты и угла наклона. 2 Цитата Ссылка на сообщение Поделиться на другие сайты
/DiOs Опубликовано 16 сентября, 2016 Поделиться Опубликовано 16 сентября, 2016 Це дiло! Цитата Ссылка на сообщение Поделиться на другие сайты
Fanat_SPB Опубликовано 16 сентября, 2016 Поделиться Опубликовано 16 сентября, 2016 (изменено) а задать финиш (сымиторовать поиск) текстом можно? вроде setroute /гагарина 2/ или search /гагарина 2/ Изменено 16 сентября, 2016 пользователем Fanat_SPB Цитата Ссылка на сообщение Поделиться на другие сайты
Vlad_SP Опубликовано 16 сентября, 2016 Поделиться Опубликовано 16 сентября, 2016 Хм, а что делать, если такого адреса не существует? (в текущем наборе карт например) Цитата Ссылка на сообщение Поделиться на другие сайты
Fanat_SPB Опубликовано 16 сентября, 2016 Поделиться Опубликовано 16 сентября, 2016 (изменено) 3 минуты назад, Vlad_SP сказал: Хм, а что делать, если такого адреса не существует? (в текущем наборе карт например) оставить забитым в поиске и все Изменено 16 сентября, 2016 пользователем Fanat_SPB Цитата Ссылка на сообщение Поделиться на другие сайты
Vlad_SP Опубликовано 16 сентября, 2016 Поделиться Опубликовано 16 сентября, 2016 Скрытый текст Исхитрись-ка мне добыть То-Чаво-Не-Может-Быть! Запиши себе названье, Чтобы в спешке не забыть! А не выполнишь к утру - В порошок тебя сотру, Потому как твой карахтер Мне давно не по нутру! Так что неча губы дуть, А давай скорее в путь! Государственное дело - Ты ухватываешь суть? (с) Цитата Ссылка на сообщение Поделиться на другие сайты
/DiOs Опубликовано 16 сентября, 2016 Поделиться Опубликовано 16 сентября, 2016 55 минут назад, Fanat_SPB сказал: оставить забитым в поиске и все Толя, а кто искать-то должен? Запустить СГ и выполнить поиск? С какими параметрами (рядом, на карте, в регионе...)? А кто формировать-то запрос будет? А не проще этому формирователю обратиться к известным источникам информации и отдать в СГ уже координаты командами view или setroute? Цитата Ссылка на сообщение Поделиться на другие сайты
Fanat_SPB Опубликовано 16 сентября, 2016 Поделиться Опубликовано 16 сентября, 2016 Here Maps (we go) прекрасно справляется с адресом гуглоконтакта в текстовом виде. и даже если адрес записан как "хз", то находит фирменный магазин Хз заря на проспекте Стачек Цитата Ссылка на сообщение Поделиться на другие сайты
/DiOs Опубликовано 16 сентября, 2016 Поделиться Опубликовано 16 сентября, 2016 Начнём с простого: что такое API, для чего оно существует и в какую сторону работает? Цитата Ссылка на сообщение Поделиться на другие сайты
Fanat_SPB Опубликовано 16 сентября, 2016 Поделиться Опубликовано 16 сентября, 2016 В API ситигида есть задать координаты. Почему бы не добавить задать текст поиску ситигида? Вот и весь мой вопрос. Цитата Ссылка на сообщение Поделиться на другие сайты
v_shutoff Опубликовано 16 сентября, 2016 Поделиться Опубликовано 16 сентября, 2016 Еще бы для завершения СГ команду 2 Цитата Ссылка на сообщение Поделиться на другие сайты
/DiOs Опубликовано 16 сентября, 2016 Поделиться Опубликовано 16 сентября, 2016 Поиска по ситигидовской базе, повторяю я вопрос из выше? О каком поиске речь? О сквозном? С какими параметрами? Только что, v_shutoff сказал: Еще бы для завершения СГ команду Во! Это действительно полезно! Цитата Ссылка на сообщение Поделиться на другие сайты
IШIN Опубликовано 16 сентября, 2016 Поделиться Опубликовано 16 сентября, 2016 34 минуты назад, Fanat_SPB сказал: Почему бы не добавить задать текст поиску ситигида? Вот и весь мой вопрос. А Дима говорит - зачем доверять поиск Ситигиду (в котором поиска нет ©), если можно найти в том, где поиск есть, и заслать сразу координаты. 2 Цитата Ссылка на сообщение Поделиться на другие сайты
/DiOs Опубликовано 16 сентября, 2016 Поделиться Опубликовано 16 сентября, 2016 Толя, намекаю ещё раз. API -- оно для обращения к СГ из внешней программы. Из которой сперва можно обратиться к нормальной поисковой системе, а потом вызвать СГ с координатами. 1 Цитата Ссылка на сообщение Поделиться на другие сайты
4e6yPaToP1981 Опубликовано 18 сентября, 2016 Поделиться Опубликовано 18 сентября, 2016 (изменено) Вот это круто! А команды вызова голосового поиска нет? Список команд не планируете расширять? Изменено 18 сентября, 2016 пользователем 4e6yPaToP1981 Цитата Ссылка на сообщение Поделиться на другие сайты
Joss Опубликовано 18 сентября, 2016 Автор Поделиться Опубликовано 18 сентября, 2016 Вот это круто! А команды вызова голосового поиска нет? Список команд не планируете расширять? Пока не планируем, кроме, возможно, завершения программы. Отправлено с моего HTC One_M8 через Tapatalk Цитата Ссылка на сообщение Поделиться на другие сайты
omsk-gps.ru Опубликовано 23 сентября, 2016 Поделиться Опубликовано 23 сентября, 2016 Если я не являюсь разработчиком собственных андроидных приложений, то мне данный API бесполезен ? Цитата Ссылка на сообщение Поделиться на другие сайты
/DiOs Опубликовано 23 сентября, 2016 Поделиться Опубликовано 23 сентября, 2016 Ну в общем да... Цитата Ссылка на сообщение Поделиться на другие сайты
omsk-gps.ru Опубликовано 23 сентября, 2016 Поделиться Опубликовано 23 сентября, 2016 и из нужных мне программ нет не одной с открытым кодом то совершенно бесполезен...... Цитата Ссылка на сообщение Поделиться на другие сайты
Udjine Опубликовано 24 сентября, 2016 Поделиться Опубликовано 24 сентября, 2016 Толя, а кто искать-то должен? Запустить СГ и выполнить поиск? А не проще этому формирователю обратиться к известным источникам информации и отдать в СГ уже координаты командами view или setroute? Ну, тут могу поспорить, т.к. на наших картах месторасположения адреса в СитиГИД и в "известных источниках информации" может значительно отличаться. Так что я ЗА такую возможность! Отправлено с моего Redmi Note 3 через Tapatalk 1 Цитата Ссылка на сообщение Поделиться на другие сайты
Globus Опубликовано 24 сентября, 2016 Поделиться Опубликовано 24 сентября, 2016 2 часа назад, Udjine сказал: ... т.к. на наших картах месторасположения адреса в СитиГИД и в "известных источниках информации" может значительно отличаться... А конкретные примеры можно? Я могу предположить, что разница может быть в том смысле, что один источник информации дает условную середину дома (или придомовой-междомовой территории) без учета общедоступных путей подъезда, а другой источник это учитывает, но это не имеет принципиального значения для думающего человека. Как и где удобнее запарковаться у нужного тебе объекта, всё равно приходится решать самому на месте - никакая навигационная программа (в обозримом будущем) не сможет помочь в этом смысле. Так что, алгоритм - нашел в поисковике, что нужно и передал в качестве финиша в СГ - считаю оптимальным на данном этапе. . Цитата Ссылка на сообщение Поделиться на другие сайты
Udjine Опубликовано 25 сентября, 2016 Поделиться Опубликовано 25 сентября, 2016 Ребята, ну вы прям сегодняшние. Примеров - масса. Во первых, гугл знает не всё, особенно в небольших городах, типа таких, как я живу. Во вторых, даже если он и знает, то часто место расположения адреса отличается на дом-два, а то и квартал, если говорить о частном секторе. ПОИ вообще зачастую может не быть, или они на фонарь выставляются, могут быть и за 500 метров от реального месторасположения, даже не по той улице, а где-то в дебрях. Так тогда по вашему получается - чтоб нормально приехать куда-то, используя СитиГИД, мне что, надо параллельно поправлять карты гугл? Смысл тогда вообще в использовании СитиГида.. Ну и в третьих - если СитиГИД завел "не туда" - так это будет неточность карт СитиГида, о которых пользователь будет сообщать производителям карт, а не в гугл. А пока искать в "открытых источниках информации". Если хочется КОНКРЕТНЫХ примеров, так я без труда набросаю полсотни только по моему Светловодску как по адресу, так и по ПОИ. Отправлено с моего Redmi Note 3 через Tapatalk 1 Цитата Ссылка на сообщение Поделиться на другие сайты
-Vic- Опубликовано 25 сентября, 2016 Поделиться Опубликовано 25 сентября, 2016 еще очень пригодились бы команды для изменения масштаба Цитата Ссылка на сообщение Поделиться на другие сайты
/DiOs Опубликовано 25 сентября, 2016 Поделиться Опубликовано 25 сентября, 2016 Изменения чем? Внешним приложением??? Цитата Ссылка на сообщение Поделиться на другие сайты
-Vic- Опубликовано 25 сентября, 2016 Поделиться Опубликовано 25 сентября, 2016 Да из внешнего приложения. Это поможет при использовании клавиатуры или какого-либо другого внешнего устройства, пульта, джойстика и т.п. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.