2014-06-30 181 views
1

我需要下面的代碼在webview中加載。如何在webview中顯示谷歌地圖導航地址android

final Intent intent = new Intent(Intent.ACTION_VIEW, 
    Uri.parse(
      "http://maps.google.com/maps?" + 
      "saddr=43.0054446,-87.9678884" + 
      "&daddr=42.9257104,-88.0508355")); 

    intent.setClassName(
      "com.google.android.apps.maps", 
      "com.google.android.maps.MapsActivity"); 

    startActivity(intent); 

我該怎麼做?

+0

這不會在WebView中打開一個URL。如果它可以工作,那麼用戶可以選擇安裝的應用程序/瀏覽器之一。 – greenapps

回答

9

這將URL加載到您的WebView:

WebView webview = (WebView) findViewById(R.id.webView1); 
webview.setWebViewClient(new WebViewClient()); 
webview.getSettings().setJavaScriptEnabled(true); 
webview.loadUrl("http://maps.google.com/maps?" + "saddr=43.0054446,-87.9678884" + "&daddr=42.9257104,-88.0508355"); 

編輯:

下面是使用上面的代碼一些截圖。谷歌地圖導航在Web視圖:

Directions

Map

編輯:

活動:

package com.example.webview; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     WebView webview = (WebView) findViewById(R.id.webView1); 
     webview.setWebViewClient(new WebViewClient()); 
     webview.getSettings().setJavaScriptEnabled(true); 
     webview.loadUrl("http://maps.google.com/maps?" + "saddr=43.0054446,-87.9678884" + "&daddr=42.9257104,-88.0508355"); 
    } 

    @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; 
    } 
} 

佈局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_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="com.example.webview.MainActivity$PlaceholderFragment" > 

    <WebView 
     android:id="@+id/webView1" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" /> 

</RelativeLayout> 

清單:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.webview" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="19" /> 

<uses-permission android:name="android.permission.INTERNET" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.example.webview.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

</manifest> 
+0

它顯示空白頁。 – Kirthiga

+0

@Kirthiga您是否將以下權限添加到清單中:<使用權限android:name =「android.permission.INTERNET」/> – todd

+0

是的,我已經添加了internet權限。您的屏幕截圖看起來像加載在瀏覽器中。我需要在webview中加載導航網址。 – Kirthiga