4

如果我启动此应用程序,我可以正确看到 webview,但它不会加载谷歌地图(https://maps.google.com/maps?q=43.0054446,-87.9678884&t=m&z=7),但它会加载正常的谷歌页面(https://www.google.it/#q=43.0054446%2C-87.9678884)。为什么?有没有办法解决它?

public class MainActivity extends Activity 
    {
         WebView myWebView;
         String mapPath = "https://maps.google.com/maps";

         @Override
         protected void onCreate(Bundle savedInstanceState) 
         {
             super.onCreate(savedInstanceState);
             setContentView(R.layout.activity_main);
             myWebView = (WebView)findViewById(R.id.mapview);
             String map2="?q=43.0054446,-87.9678884&t=m&z=7";
             myWebView.loadUrl(mapPath+map2);    
         }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    }

现在我有另一个问题。这是我的 xml 布局。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<RelativeLayout 
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
        android:id="@+id/textview"
        android:layout_height="@string/hello_world"/>
</RelativeLayout>

<RelativeLayout 
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<WebView
        android:id="@+id/mapview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</RelativeLayout>

我想在屏幕的上半部分显示 WebView,但是当链接加载时,页面是全屏的(即使我在 webview 下插入了其他内容)。为什么?

4

2 回答 2

4

我刚刚从 httpS 中删除了 S 并且它可以工作。我不知道这是否有帮助。

于 2013-11-06T22:21:53.483 回答
3

对我来说,我错过了myWebView.getSettings().setJavaScriptEnabled(true);.

这是我的代码:

//set the webview and have open the map
mywebview = (WebView) findViewById(R.id.webView);
WebSettings webSettings = mywebview.getSettings();
webSettings.setBuiltInZoomControls(true);
mywebview.getSettings().setJavaScriptEnabled(true);

mywebview.setWebViewClient(new Callback());
mywebview.loadUrl(mapPath+map2);

感谢评论者补充说,我有点疯了。

于 2015-05-31T13:56:57.483 回答