从Android Studio 2上的webview链接打开Goog​​le地图

时间:2016-04-21 13:18:11

标签: android

我正在开发一个小应用程序,我有动态数据,一旦点击,然后必须打开本机谷歌地图。 而不是这个,我得到这个错误消息: 净:: ERR_UNKNOWN_URL_SCHEME

这是我的代码

mapLink='geo:0,0?q='+localidad+" "+direccionTemp;
window.location.href = mapLink;

我应该在android Studio 2中进行一些更改吗? 我真的是菜鸟。 请帮忙

2 个答案:

答案 0 :(得分:0)

您可能需要解析您的URL将以下代码放在onClickListener中:

Double myLatitude = //Your Latitude;
   Double myLongitude = //Your Longitude;
   String labelLocation = Your Label";
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("geo:<" + myLatitude  + ">,<" + myLongitude + ">?q=<" + myLatitude  + ">,<" + myLongitude + ">(" + labelLocation + ")"));
startActivity(intent);

如果您不想要标签,可以省略(LabelLocation)。

答案 1 :(得分:0)

这就是我所拥有的 使用Javascript: mapLink='geo:0,0?q='+localidad+" "+direccionTemp; window.location.href = mapLink;

Android Studio 2: MainActivity:

public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith("tel:")) { startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(url))); return true; } else if (url.startsWith("mailto:")) { url = url.replaceFirst("mailto:", ""); url = url.trim(); Intent i = new Intent(Intent.ACTION_SEND); i.setType("plain/text").putExtra(Intent.EXTRA_EMAIL, new String[]{url}); startActivity(i); return true; }else { if (url.startsWith("geo:")) { Intent searchAddress = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(searchAddress); return true; } else { view.loadUrl(url); return true; } } }

的Manifest.xml:    <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_GPS" /> <uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" /> <uses-permission android:name="android.permission.ACCESS_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> ... 怎么了?感谢