【问题标题】:How can I implement Google Maps through a WebView in Android Studio如何通过 Android Studio 中的 WebView 实现 Google 地图
【发布时间】:2020-08-30 07:20:30
【问题描述】:
在我的应用中实施 Google 地图时遇到了问题。使用普通的 API,我可以完美地完成它,直到我想进行搜索。它只是不加载。跨论坛阅读似乎需要 Google Cloud 上的结算帐户才能正常工作。这就是为什么我试图在某个 Activity 上实现一个 Google Maps WebView(显然,有一个正常工作的搜索栏)。我对 WebViews 一点也不熟悉,所以我会很感激对傻瓜的解释。提前致谢。
附带说明一下,我没有使用其他线程,因为大多数是大约 5 年前的,并且大部分代码已被弃用。
【问题讨论】:
标签:
java
android
google-maps
android-webview
【解决方案1】:
我在一个约束布局上实现了一个普通的 Web 视图。它的 ID 为“webView”。以下代码用于 Activity 本身
package com.example.donafelicidad;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class ComedoresActivity2 extends AppCompatActivity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_comedores2);
webView = (WebView) findViewById(R.id.webView);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("https://www.google.com/maps");
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
}
@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else{
super.onBackPressed();
}
}
}
它可以让地图完美地工作(JavaScript 的实现),同时还允许用户在 Web 视图上返回到以前的状态(onBackPressed 的实现)。