我遇到一个问题,我需要通过webview中的点击在Android上打开Google地图应用。我的所有搜索都会修改android代码中的webview设置。我无法做到这一点。我只能访问在webview中打开的网页。我无法在android中修改java,我必须在页面上使用Javascript。
我尝试过使用:
window.location.href = http://maps.google.com/maps?daddr=但我只在网页上打开地图而非应用。
window.open(与上面相同的链接)同样的问题只在webview中打开。
HREF ="意图://#意图;包= com.google.android.apps.maps;行动= http://maps.google.com/maps?daddr=...;end;" 没有得到任何东西。读一下我必须在android清单中更改某些内容才能使用它,但是我无法访问它。
任何想法?提前谢谢。
答案 0 :(得分:1)
我认为您可以使用地理链接而不是maps.google.com: https://developer.android.com/guide/components/intents-common.html#Maps
我用
测试了它<a href="geo:37.786971,-122.399677;u=35">click</a>
它有效。
= - = - = - edit - = - = - =
经过多次挖掘后,事实证明,5.0或之后的WebView的默认行为是不支持url方案,除非你覆盖该函数。
在您的情况下,我认为您最好能够为5.0或更高版本的用户加载网络版,并为其他用户打开地图应用。以下代码应该这样做。
String htmlString = "<p id=\"demo\" onclick=\"myFunction()\">Click me to open map.</p>\n" +
"<script>\n" +
"function myFunction() {\n" +
" document.getElementById(\"demo\").innerHTML = \"<iframe style=\\\"display:none\\\" src=\\\"geo:37.786971,-122.399677;u=35\\\"></iframe>\";\n" +
" window.open(\"http://maps.google.com/maps?daddr=37.786971,-122.399677\");\n"+
"}</script>\n";