在我的应用程序中,我想在webview中使用Google地图的嵌入网址显示两个地理点之间的路线。但它不起作用。在浏览器中它显示方向页面,但在设备中显示标记页面。
Code:
公共类android_testing扩展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) {
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+"&output=embed";
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();
}
}
}; }
在浏览器中
但在设备中
答案 0 :(得分:0)
要简单地显示包含2个位置的Google地图,无需使用单独的活动和webview,只需调用如下代码
float source_lat = 17.493133f;
float source_long = 78.398438f;
float dest_lat = 17.444992f;
float dest_long = 78.379898f;
String sourcelatitudeString=source_lat.toString();
String sourcelongitudeString=source_long.toString();
Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("http://maps.google.com/maps?saddr="+sourcelatitudeString+","+sourcelongitudeString+"&daddr="+dest_lat+","+dest_long+""));
startActivity(intent);