在我的应用程序中,我想使用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();
}
}
}; }
就像这样显示
但我想直接显示方向页面。有可能吗?