2012-04-01 5 views
4

У меня есть следующий код, чтобы показать WebView:Как показать собственную карту google в webview в android?

webview.xml

<?xml version="1.0" encoding="utf-8"?> 
<WebView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/webView1" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" /> 

WebViewActivity.java

public class WebViewActivity extends Activity { 

private WebView webView; 

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.webview); 

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




} 

} 

Я хочу, чтобы открыть следующий код в WebView:

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

Что именно вы хотите сделать, потому что вы задаете вопрос, меня немного смущает – Ishu

+0

Просто хочу открыть последнюю часть кода выше в webview !! – captaindroid

+0

Привет captainpirate, у меня такая же проблема. Если вы решили эту проблему, пожалуйста, дайте мне знать. – AB1209

ответ

2

Пожалуйста, проверьте this .Это не открывает родное приложение Google Map в WebView вместо этого он загружает http://maps.google.com/maps?~~ в WebView.

Может помочь.

2

Попробуйте это ...

private String url = "http://maps.google.com/maps"; 

    webView.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 

      if (url.equals("http://maps.google.com/maps")) { 

       Intent intent = new Intent(android.content.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); 
      } else { 
       //else part 
      } 

      return true; 
     } 
    }); 
+0

отображает только белый экран! – captaindroid

+1

Вы получили ключ API карты Google и связанный с ним код XML здесь http://code.google.com/android/maps-api-signup.html – AnujAroshA

+0

Я не использую MapActivity здесь, зачем мне нужен API Google Map API ? Если необходимо, где я должен поставить ключ api? Мой полный код класса выше. – captaindroid

Смежные вопросы