android - 如何直接打开地图应用程序

时间:2012-02-28 07:43:01

标签: android maps

在我的应用程序中,我想显示两个地理点之间的方向。因为我使用了地图应用程序。但它显示了移动提供的不同选项,如跟随图像。但我想显示方向而不问这个。可能吗?请任何人帮助我。

String directionweburl = "http://maps.google.com/maps?daddr="+dest_lat+","+dest_long+"&saddr="+source_lat+","+source_long;

Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(directionweburl));

startActivity(myIntent);

enter image description here

更新

最初它显示如下

enter image description here

但是我想直接表示如下可能吗?

enter image description here

3 个答案:

答案 0 :(得分:7)

您只需要完成此http://developer.android.com/guide/appendix/g-app-intents.html

您会找到The Geo URI scheme (not fully supported) is currently under development.。用于支持您的网址请求。所以我认为你必须尝试另一种方式,因为目前的方式只采用纬度,经度,缩放和查询功能。

修改:您可以尝试为Google地图活动设置类名,以删除此对话框:

String directionweburl = "http://maps.google.com/maps?daddr="+dest_lat+","+dest_long+"&saddr="+source_lat+","+source_long;

Intent myIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(directionweburl));
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(myIntent);

编辑2 (不要尝试不工作) 尝试设置此类名称:

intent.setClassName("com.google.android.apps.maps",
"com.google.android.maps.driveabout.app.NavigationActivity"); 

答案 1 :(得分:0)

String directionweburl =“http://maps.google.com/maps?daddr=”+ dest_lat +“,”+ dest_long +“& saddr =”+ source_lat +“,”+ source_long;

Intent myIntent = new Intent(Intent.ACTION_VIEW,Uri.parse(directionweburl)); intent.setClassName(“com.google.android.apps.maps”,“com.google.android.maps.MapsActivity”); startActivity(myIntent);

它的工作 如果出现任何问题,请使用谷歌Api模拟器

答案 2 :(得分:0)

String directionweburl =“http://maps.google.com/maps?daddr=”+ dest_lat +“,”+ dest_long +“& saddr =”+ source_lat +“,”+ source_long;

Intent myIntent = new Intent(Intent.ACTION_VIEW,Uri.parse(directionweburl)); intent.setClassName(“com.google.android.apps.maps”,“com.google.android.maps.MapsActivity”); startActivity(myIntent);