Как показать родную карту Google в веб-просмотра в Android? - PullRequest
5 голосов
/ 01 апреля 2012

У меня есть следующий код для отображения веб-просмотра:

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);

Как я могу это сделать ???

Ответы [ 2 ]

2 голосов
/ 05 апреля 2012

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

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

2 голосов
/ 02 апреля 2012

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

    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;
        }
    });
...