我正为使用 Google 地图和地理定位的网站撰写一个包装程序。 我遇到的问题是, 在普通浏览器中, 页面功能通常正常, 但在 WebView 中, 两指缩放不起作用, 而这个错误的日志其实是 < 坚固 > floods < / 坚固 > :
05-24 08:14:28.504: E/Web Console( 2666): 未发现类型错误: 无法在 http:// <mydomain> /index.php:28
上读取属性获取无效的直径 ClientRect
问题是,这个功能只在谷歌JS代码中使用,而不是在我们的代码中使用,所以我对它没有太多权力。我应该如何开始解决这个问题呢?
以下是一些(可能)与你相关的消息来源,
myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
mk.setTitle(getString(R.string.loading));
mk.setProgress(progress * 100);
if(progress == 100) {
mk.setTitle(R.string.app_name);
}
}
public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {
callback.invoke(origin, true, false);
}
});
myWebView.setWebViewClient(new MyWebViewClient());
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setUserAgentString(getString(R.string.useragent));
webSettings.setGeolocationEnabled(true);
webSettings.setBuiltInZoomControls(false);
webSettings.setGeolocationDatabasePath("/data/data/com.mypackage.myapp");
myWebView.addJavascriptInterface(new JSInterface(this), "androidapp");
myWebView.loadUrl(HOMEURL);