Android - запуск google-карты через веб-адрес
На iPhone URL-адрес maps.google.com перехватывается и загружается приложением native google maps. Я хотел бы сделать то же самое на Android, но Google Maps загружается в браузере.
Итак, на веб-странице можно ли открыть этот url http://maps.google.com/maps?saddr=brighton&daddr=timbuktu в приложении Android Google Map?
Я вижу из этого вопроса, что вы можете сделать это из другого приложения через Intent. Можете ли вы активировать эти намерения из браузера?
Изменить. При дальнейшем тестировании я обнаружил, что пользователю будет предложено открыть ссылку в браузере или приложении карты для стандартных ссылок html на maps.google.maps:
<a href="#" onclick="location.href='http://maps.google.com/maps?saddr=brighton&daddr=timbuktu'; return false;">show route</a>
У меня возникла проблема, потому что я использую javascript для установки window.location.href через обратный вызов API-интерфейса Location (чтобы я мог получить местоположение пользователя, а затем открыть карту). Я открыл отчет об ошибках для этого.
Ответы
Ответ 1
Ввод гео: 0,0? q = google в адресную строку открывает активность карт и выполняет поиск google поблизости.
Я предполагаю, что это будет работать из ссылки на странице, но не проверено.
полный список доступных целей здесь:
http://developer.android.com/guide/appendix/g-app-intents.html
Ответ 2
<html>
<body>
<H1>
<a href="geo:42,2?z=8">Click here for maps</a>
</h1>
<BR><BR>
<a href="geo:53,-9?saddr=(53,-9)&daddr=(42,4)">Click here for route maps</a>
</body>
</html>
Первый щелчок правильно загружает приложение Google на Android и масштабирует его. Во втором клике я пытаюсь реплицировать двухточечный маршрут (начальный адрес- > адрес назначения), и он, похоже, не работает.
Ответ 3
В этот момент я использую функцию javascript, которая меняет следующие шаблоны:
'urlTemplates': {
"default": "http://maps.google.com?q={streetAddress} {addressLocality} {addressRegion} {postalCode} {addressCountry}",
"ios": "maps:?saddr=Current Location&daddr={streetAddress} {addressLocality} {addressRegion} {postalCode} {addressCountry}",
"android": "geo:{streetAddress} {addressLocality} {addressRegion} {postalCode} {addressCountry}",
"windows_phone7": "maps:{streetAddress} {addressLocality} {addressRegion} {postalCode} {addressCountry}",
"windows_phone8": "bingmaps:?where={streetAddress} {addressLocality} {addressRegion} {postalCode} {addressCountry}",
"blackberry": "javascript:blackberry.launch.newMap({'address':{'address1':'{streetAddress}','city':'{addressLocality}','country':'{addressCountry}','stateProvince':'{addressRegion}','zipPostal':'{postalCode}'}});"
с какой информацией я получил в зависимости от устройства, я не помню, откуда у меня есть все шаблоны, и я сожалею об этом, и после этого я открываю адрес, используя window.location.href.
Надеюсь, это поможет вам. Потому что в то время, когда мне это нужно, я потратил много времени на его изучение.
Ответ 4
Я действительно сильно пострадал от этого, но, наконец, получил ответ.
Не использовать href, это не сработает.
Для навигации -
window.open( "google.navigation: q = 23.3728831,85.3372199 & mode = d", '_system');
Для поиска -
window.open( "geo: 0,0? q = pizza", '_system');
Читайте здесь - https://developers.google.com/maps/documentation/android/intents
Ответ 5
Попробуйте этот код PHP
echo "<a href='geo:".$lat.",".$lng."?q=".$lat.",".$lng."(".$NameLocationLabel.")'>Open map Native</a>";
Его работы для меня в телефоне, андроиде и IOS ^^