Версия 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() не отрабатывает корректно (пробел между цифрами вроде как есть, но не распознается).
Прошу подсказать как можно отдельно выделить цифровые данные из приведенных значений, для того чтобы можно было для удобства сделать ссылку для открытия Навигатора
Возможность открытия в Яндекс навигаторе
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Возможность открытия в Яндекс навигаторе
Попробуйте использовать поле https://docs.rukovoditel.net.ru/index.php?p=104
Там можно разделить строку и вытянуть необходимые значения.
Там можно разделить строку и вытянуть необходимые значения.
-
believe
- Инвестор

- Сообщения: 449
- Зарегистрирован: 09 янв 2020, 11:49
- Имя: Владимир
- Откуда: Тверь
- Организация: ООО "ВебСофт"
Re: Возможность открытия в Яндекс навигаторе
Добрый день! Можете рассказать подробнее, как вы это реализовываете? Мне тоже интересен данный функционал?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() не отрабатывает корректно (пробел между цифрами вроде как есть, но не распознается).
Прошу подсказать как можно отдельно выделить цифровые данные из приведенных значений, для того чтобы можно было для удобства сделать ссылку для открытия Навигатора
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Возможность открытия в Яндекс навигаторе
Поле google карта хранит координаты в базе. Вы можете открыть phpmyadmin и проверить.Можете рассказать подробнее, как вы это реализовываете?
Соответственно эти координаты можно получить и использовать. Mysql запросом это неудобно делать.
А вот с помощью php поля будет удобно получить значение, вытянуть из него широту\долготу и использовать в ссылке например.
-
believe
- Инвестор

- Сообщения: 449
- Зарегистрирован: 09 янв 2020, 11:49
- Имя: Владимир
- Откуда: Тверь
- Организация: ООО "ВебСофт"
Re: Возможность открытия в Яндекс навигаторе
Благодарю, понял. Нужен пример, как вытаскивать с полей именно нужную информацию с использованием php. Можно такой предоставить?support писал(а): 28 июл 2021, 09:24Поле google карта хранит координаты в базе. Вы можете открыть phpmyadmin и проверить.Можете рассказать подробнее, как вы это реализовываете?
Соответственно эти координаты можно получить и использовать. Mysql запросом это неудобно делать.
А вот с помощью php поля будет удобно получить значение, вытянуть из него широту\долготу и использовать в ссылке например.
Re: Возможность открытия в Яндекс навигаторе
Благодарю за помощь, все заработало как надо.
Код получился следующий (кому это надо), тип поля PHP код:
Где [500] поле с типом карта Google
P.S. Имейте ввиду, что у Яндекс Навигатора имеется ограничение на открытие со сторонних приложений 5 запросов в сутки на одно мобильное устройство. Данная ссылка работает и на iOs и на Android смартфонах. Автоматически с web страницы открывается Навигатор и прокладывается маршрут до точки (поиск по координатам, а не по адресу)
Код получился следующий (кому это надо), тип поля 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;
P.S. Имейте ввиду, что у Яндекс Навигатора имеется ограничение на открытие со сторонних приложений 5 запросов в сутки на одно мобильное устройство. Данная ссылка работает и на iOs и на Android смартфонах. Автоматически с web страницы открывается Навигатор и прокладывается маршрут до точки (поиск по координатам, а не по адресу)
-
believe
- Инвестор

- Сообщения: 449
- Зарегистрирован: 09 янв 2020, 11:49
- Имя: Владимир
- Откуда: Тверь
- Организация: ООО "ВебСофт"
Re: Возможность открытия в Яндекс навигаторе
Гугл вроде без ограничений работает.
$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;
$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;