webview中的android和googlemaps

时间:2012-03-21 17:49:28

标签: android maps

我正在尝试为我的移动网络应用做一个非常简单的谷歌地图功能。 经过一番搜索,我发现只需在webview中打开maps.google.com?q=query的href就会显示一张非常不错的地图。 google.maps的移动版本具有“当前位置”功能,我无法开始工作。所以我认为它可能需要一些许可,但我发现它的信息很少。有谁知道如何使这个功能工作?当我点击按钮时,没有任何事情发生。

在我的清单中我有这个:

<uses-permission android:name="android.permission.INTERNET" />
<uses-configuration android:reqKeyboardType="undefined" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<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" />

整个事情在webview中加载。任何指针都非常感激:)

2 个答案:

答案 0 :(得分:1)

你是否在manifest.xml中添加了这个库

<uses-library android:name="com.google.android.maps" />  

答案 1 :(得分:0)

事实证明我的网页浏览器根本不允许我做我想做的事情。 我最终通过在“shouldoverrideurlloading”中通过设备browser \ maps应用程序处理google.maps url来解决它。像这样:

    if (url != null && url.startsWith("http://maps.google.com")) {
                mWebView.getContext().startActivity(
                    new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
                return true;
            } else {
                view.loadUrl(url);
                return false;        
}

将意图添加到androidmanifest:

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="helloworld" />
</intent-filter>