Страница 1 из 1
Возможность открытия в Яндекс навигаторе
Добавлено: 27 июл 2021, 17:15
serg_k
Версия 2.8.2 с дополнениями.
Реализовано поле google карт с геокодированием.
В базу данных сохраняются после геокодирования данные вида:
55.897692905580586 37.4761452065662 %D0%B3.+%D0%9C%D0%BE%D1%81%D0%BA%D%B0%2C+%D1%83%D0%BB.+%D0%A1%D0%BC%D0%BE%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F%2C+%D0%B4.63
Если из этой строки выделить широту и долготу, после этого подставить значения в ссылку вида
CONCAT("<a href=yandexnavi://build_route_on_map?lat_to=" , [574] , "&lon_to=", [575] , ">Маршрут</a>")
где [574] и [575] широта и долгота, то появляется возможность на мобильных устройствах открыть навигатор с проложенным маршрутом. (P.S. Единственно если часто открывать то Яндекс Навигатор начинает ругаться, но пару раз в час работает достаточно хорошо и этого достаточно).
Столкнулся с проблемой, что длина адреса (цифры широты и долготы) может отличатся на разных адресах, соответственно метод LEFT() не подошел, SUBSTRING() или SUBSTRING_INDEX() не отрабатывает корректно (пробел между цифрами вроде как есть, но не распознается).
Прошу подсказать как можно отдельно выделить цифровые данные из приведенных значений, для того чтобы можно было для удобства сделать ссылку для открытия Навигатора
Re: Возможность открытия в Яндекс навигаторе
Добавлено: 27 июл 2021, 17:34
support
Попробуйте использовать поле
https://docs.rukovoditel.net.ru/index.php?p=104
Там можно разделить строку и вытянуть необходимые значения.
Re: Возможность открытия в Яндекс навигаторе
Добавлено: 28 июл 2021, 08:31
believe
serg_k писал(а): 27 июл 2021, 17:15
Версия 2.8.2 с дополнениями.
Реализовано поле google карт с геокодированием.
В базу данных сохраняются после геокодирования данные вида:
55.897692905580586 37.4761452065662 %D0%B3.+%D0%9C%D0%BE%D1%81%D0%BA%D%B0%2C+%D1%83%D0%BB.+%D0%A1%D0%BC%D0%BE%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F%2C+%D0%B4.63
Если из этой строки выделить широту и долготу, после этого подставить значения в ссылку вида
CONCAT("<a href=yandexnavi://build_route_on_map?lat_to=" , [574] , "&lon_to=", [575] , ">Маршрут</a>")
где [574] и [575] широта и долгота, то появляется возможность на мобильных устройствах открыть навигатор с проложенным маршрутом. (P.S. Единственно если часто открывать то Яндекс Навигатор начинает ругаться, но пару раз в час работает достаточно хорошо и этого достаточно).
Столкнулся с проблемой, что длина адреса (цифры широты и долготы) может отличатся на разных адресах, соответственно метод LEFT() не подошел, SUBSTRING() или SUBSTRING_INDEX() не отрабатывает корректно (пробел между цифрами вроде как есть, но не распознается).
Прошу подсказать как можно отдельно выделить цифровые данные из приведенных значений, для того чтобы можно было для удобства сделать ссылку для открытия Навигатора
Добрый день! Можете рассказать подробнее, как вы это реализовываете? Мне тоже интересен данный функционал?
Re: Возможность открытия в Яндекс навигаторе
Добавлено: 28 июл 2021, 09:24
support
Можете рассказать подробнее, как вы это реализовываете?
Поле google карта хранит координаты в базе. Вы можете открыть phpmyadmin и проверить.
Соответственно эти координаты можно получить и использовать. Mysql запросом это неудобно делать.
А вот с помощью php поля будет удобно получить значение, вытянуть из него широту\долготу и использовать в ссылке например.
Re: Возможность открытия в Яндекс навигаторе
Добавлено: 28 июл 2021, 09:36
believe
support писал(а): 28 июл 2021, 09:24
Можете рассказать подробнее, как вы это реализовываете?
Поле google карта хранит координаты в базе. Вы можете открыть phpmyadmin и проверить.
Соответственно эти координаты можно получить и использовать. Mysql запросом это неудобно делать.
А вот с помощью php поля будет удобно получить значение, вытянуть из него широту\долготу и использовать в ссылке например.
Благодарю, понял. Нужен пример, как вытаскивать с полей именно нужную информацию с использованием php. Можно такой предоставить?
Re: Возможность открытия в Яндекс навигаторе
Добавлено: 28 июл 2021, 10:27
serg_k
Благодарю за помощь, все заработало как надо.
Код получился следующий (кому это надо), тип поля PHP код:
Код: Выделить всё
$content=[500];
$coordinaty=explode("\t",trim(strip_tags($content)));
$ur1='<a href=yandexnavi://build_route_on_map?lat_to=';
$ur2='&lon_to=';
$ur3='>Маршрут</a>';
$output_value=$ur1 . $coordinaty[0] . $ur2 . $coordinaty[1] . $ur3;
Где [500] поле с типом карта Google
P.S. Имейте ввиду, что у Яндекс Навигатора имеется ограничение на открытие со сторонних приложений 5 запросов в сутки на одно мобильное устройство. Данная ссылка работает и на iOs и на Android смартфонах. Автоматически с web страницы открывается Навигатор и прокладывается маршрут до точки (поиск по координатам, а не по адресу)
Re: Возможность открытия в Яндекс навигаторе
Добавлено: 28 июл 2021, 13:08
believe
Ключ не предоставляют для web приложений...
Re: Возможность открытия в Яндекс навигаторе
Добавлено: 28 июл 2021, 16:15
believe
Гугл вроде без ограничений работает.
$content=[213];
$coordinaty=explode("\t", trim(strip_tags($content)));
$ur1='<a href=google.navigation:q=';
$ur2=',';
$ur3='>Проложить маршрут через Google</a>';
$output_value=$ur1 . $coordinaty[0] . $ur2 . $coordinaty[1] . $ur3;