2012-10-29 44 views
1

我在我的应用程序中有webview,我将动态获取该webview的数据,我正在为该视图控制放大。 当我得到这个网址http://content.vaayoo.com/AppsPlatForm/DealsaheadWeb/[email protected]时,放大控制正在出现。 但是当我得到下面的网址 https://maps.google.com/?saddr=12.9302,77.5831&daddr=12.928464,77.584258,变焦控制没有出现。这个问题令人兴奋吗?任何形式的帮助,高度赞赏..下面 是我的代码..缩放控制不适用于地图

protected void applyStyles() { 

    // applying the zooming property to webview. 
    final FrameLayout.LayoutParams ZOOM_PARAMS = new FrameLayout.LayoutParams(
      ViewGroup.LayoutParams.WRAP_CONTENT, 
      ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.TOP); 

    View zoom = ((WebView) view).getZoomControls(); 
    FrameLayout ContentView = (FrameLayout) ((Activity) context) 
      .getWindow().getDecorView().findViewById(android.R.id.content); 
    ContentView.addView(zoom, ZOOM_PARAMS); 
    zoom.setVisibility(View.VISIBLE); 
} 

下面是我在哪里做的所有的设置web视图的代码..提前

if (data != null && webview != null) { 
     String webData = data.toString(); 
     webview.getSettings().setJavaScriptEnabled(true); 
     webview.getSettings().setLoadWithOverviewMode(true); 
     webview.getSettings().setDefaultZoom(WebSettings.ZoomDensity.MEDIUM); 
     webview.getSettings().setUseWideViewPort(false); 
     //webview.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS); 
     webview.getSettings().setBuiltInZoomControls(true); 
     webview.getSettings().setSupportZoom(true); 


     webview.requestFocus(View.FOCUS_DOWN); 
     webview.setOnTouchListener(new View.OnTouchListener() { 

      public boolean onTouch(View v, MotionEvent event) { 

       switch (event.getAction()) { 
        case MotionEvent.ACTION_DOWN: 


        case MotionEvent.ACTION_UP: 
         if (!v.hasFocus()) { 
          v.requestFocus(); 
         } 

         break; 
       } 
       return false; 
      } 
     }); 
     System.out.println("webdata" + webData); 
     if (webData.startsWith("http")) { 
      webview.loadUrl(webData); 



     } else { 
      webview.loadData(webData, "text/html", "utf-8"); 
     }   
    } 

谢谢

+0

你为什么不使用MapView的? –

回答

2

如果你有webview,所以你必须启用这些webview的缩放属性像这样 -

webview.getSettings().setSupportZoom(true); 
webview.getSettings().setBuiltInZoomControls(true); 

之后,默认的缩放功能会显示给您,我希望这个建议对您有所帮助。 谢谢

+0

hey dainel,我已启用这些设置。但仍然无法看到控制中的缩放.. – RockandRoll

+0

但对我来说,它是在长焦内置变焦工作。 – Ravi

1

尝试将setJavaScriptEnabled设置为true。您还可以通过

WebSettings webSettings = myWebView.getSettings(); 
webSettings.setJavaScriptEnabled(true); 

也能达到它检查以下的WebView性质存在

webSettings.setSupportZoom(true); 
webSettings.setBuiltInZoomControls(true);