0

我有一个 webview,其中打开了一个本地 html 文件。此本地 html 文件使用 Google Javascript API 打开 Google 地图。我已将 webview.getsettings().setbuiltinzoomcontrols 设置为 true。捏缩放正在发生,但 webview 比例正在扭曲。请告诉是否有人知道它发生的原因。感谢和问候 Astha Devra

4

2 回答 2

2

webview.getsettings().setbuiltinzoomcontrols 可以将 webview 作为一个整体进行缩放(就像拉伸图像一样),并且不与 JavaScript 代码通信。

如果您在 Android Web 浏览器上打开 Google 地图而不是运行本机 Google 地图应用程序,您会注意到同样的事情发生了。

您可以使用 onTouchListener 捕获捏合手势,并通过 webview.loadUrl("javascript: YOUR_ZOOM_IN_FUNCTION") 在 JavaScript 中设置 Map 的缩放值。

于 2011-07-27T20:18:12.123 回答
1

大多数 android 2.x 设备上的 WebView 不会在 javascript 中生成一个以上的触摸事件,而是缩放浏览器内容 - 因此是“失真”。

为了支持这些设备,您可以增强您的 Web 容器以生成那些丢失的事件 - 我们之前使用此“Polyfill”完成了您可以在 github 上找到的

还要确保您的 html 标头通过设置如下视口元标记来禁止用户缩放: <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />

于 2013-05-04T17:52:23.913 回答