【问题标题】:android and googlemaps in webviewwebview中的android和googlemaps
【发布时间】:2012-03-25 20:46:40
【问题描述】:

我正在尝试为我的移动网络应用程序做一个非常简单的谷歌地图功能。 经过一番搜索,我发现只需在 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 中。任何指针都非常感谢:)

【问题讨论】:

    标签: android maps


    【解决方案1】:

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

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

    【讨论】:

    • 嗯,该库将用于本地 MapView,但听起来 OP 只是在打开 maps.google.com 的 WebView。
    • 是的,它只是用于打开指向 maps.google.com 的超链接的 web 视图。找到了一个可以在我手机浏览器中使用的地理定位示例。[链接]experimenting.in/other/demo_geo_googlemap.htm 但它不会在 webview 中触发。我补充说:mWebView.getSettings().setGeolocationEnabled(true);mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); 但是不行...
    【解决方案2】:

    事实证明,我的 webview 根本不允许我做我想做的事。 我最终通过“shouldoverrideurlloading”中的设备浏览器\地图应用程序处理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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 2016-06-15
      • 1970-01-01
      相关资源
      最近更新 更多