#javascript #react-native #expo
#javascript #react-native #expo
Вопрос:
У меня есть приложение, которое состоит из a <webView>
и отображает несколько кнопок, которые открывают разные ссылки на Google Maps.
На iOS ссылка открывается в приложении «Карты», но на Android она открывается в том же виде (как и в приложении).
Когда я нажимаю кнопку «Начать навигацию» в Google, я получаю error related to intent://google-maps-link
Начало ошибки выглядит так:
Can't open url: intent://maps.app.goo.gl/?link
Я передаю эту ссылку на представление в <a>
теге, подобном этому:
<a class="btn btn-info" href="<?php echo $lm['TextLink'] ?>" target="_blank">Start Route</a>
Как я могу открыть ссылку в новом браузере (который установлен на телефоне Android) или непосредственно в приложении Google Maps?
Я искал более 2 дней, но происходит то же самое.
Заранее спасибо!
Ответ №1:
Для этого вам придется использовать expo-linking. Это должно устранить ошибку намерения для вас. Просто используйте что-то подобное в своей функции onPress-
Linking.openURL('http://maps.google.com/?q=100 Main Street Buffalo NY');
Комментарии:
1. Кнопка содержится на веб-странице, которая загружается в WebView, я открываю ссылку по ссылке href в
<a>
теге2. Похоже, что веб-страница не является компонентом expo. Я чего-то не хватает?