android - 如何在Web视图中显示方向

时间:2012-02-24 06:11:43

标签: android google-maps webview

在我的应用程序中,我想使用WebView在Google地图中显示两个地理点之间的路线。我试过但它没有显示方向,它只显示标志页面。怎么做?

public class android_testing extends Activity {

public WebView webview;     
protected ProgressDialog web_pd;
final Handler rb_web_pd_Handler = new Handler();    

@Override
public void onCreate(Bundle icicle) 
{
    super.onCreate(icicle);                   
    setContentView(R.layout.main);        

    webview = (WebView)findViewById(R.id.wv_direction);  
    webview.getSettings().setJavaScriptEnabled(true);
    webview.getSettings().setPluginsEnabled(true);
    webview.getSettings().setDomStorageEnabled(true);
    webview.getSettings().setBuiltInZoomControls(true);
    webview.getSettings().setSupportZoom(true);
    webview.getSettings().setAllowFileAccess(true);

    web_pd = ProgressDialog.show(android_testing.this, "", "Please wait...", true);
    Thread t = new Thread() 
    {
        public void run() 
        {               
            rb_web_pd_Handler.post(checked_LoginResp);
        }                                               
    };
    t.start();

    webview.setWebViewClient(new WebViewClient() 
    {
        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
        {
            // Handle the error
        }

        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if (url.startsWith("tel:")) { 
                    Intent intent = new Intent(Intent.ACTION_DIAL,
                            Uri.parse(url)); 
                    startActivity(intent); 
            }else if(url.startsWith("http:") || url.startsWith("https:")) {
                view.loadUrl(url);
            }
            return true;
        }
    });
    float source_lat = 17.493133f;
    float source_long = 78.398438f;
    float dest_lat = 17.444992f;
    float dest_long = 78.379898f;
    String page_url ="http://maps.google.com/maps?daddr="+dest_lat+","+dest_long+"&saddr="+source_lat+","+source_long;             
    System.out.println("URL:"+page_url);       
    webview.loadUrl(page_url);      
}

 final Runnable checked_LoginResp = new Runnable()
 {
     public void run()
     {
         try
         {
             webview.setWebChromeClient(new WebChromeClient() 
             {
                 public void onProgressChanged(WebView view, int progress)
                 {
                     if(progress == 100)
                     {
                         web_pd.dismiss();  
                     }
                 }
             });
         } 
         catch(Exception e)
         {
             e.printStackTrace();
         }
     }      
 };          }

就像这样显示

it shows like this

但我想直接显示方向页面。有可能吗? enter image description here

1 个答案:

答案 0 :(得分:0)

阅读本文,它将描述如何在网页视图中显示Google地图方向

Google Map Derection in WebView