Android - 从应用程序启动Google导航

21

我正在制作一款android应用程序,它可以由用户输入一些坐标(由GPS确定起点和用户定义的终点)

我希望我的应用程序能够启动Google导航,以指导用户穿过这些点。在下一个步骤中,我想给导航更多的点(例如一些感兴趣的点),以便它将引导用户通过包含所有点的特定路线。

这是否可行?我所找到的都是未记录的实践和没有示例。有没有人解决了这个问题?如果没有,有人能推荐其他的导航程序吗?

先谢谢你, 乔治


1
在Android上通过Intent启动Google地图导航请参考此帖子:https://dev59.com/enE85IYBdhLWcg3wr1ge - Amol Gupta
这些命令: Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?saddr=" + StartLon + "," + StartLat + "&daddr=" + DestLon + "," + DestLat)); startActivity(intent); 似乎可以工作。但在模拟器中,我总是得到“找不到路线”(也许这在模拟器上本来就不能工作。很快会在设备上测试它)。 - george
你可以尝试从DDMS获取GPS定位并指定当前位置...以防这是问题的原因。 - Amol Gupta
你的意思是使用模拟器方面吗?我已经通过命令行(使用geo fix命令)和Eclipse的模拟器控制视图提供了虚拟GPS定位。程序似乎可以正常接收到定位,但是它只是给出“找不到路线”的提示。过几天我会更新帖子,因为我要在真实设备上测试。 - george
1个回答

20

您肯定可以引导它们到一个单一的点:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("google.navigation:q=" +mLat+","+mLong));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

不确定如何设置途经点,可能有一些方法可以做到。我认为该API未经记录,因此使用时需自行决定风险。您可以将应用程序后台监听GPS信息,并在特定点提示用户。


1
是的,我用过这个,但是它有文档记录吗(至少关于单点)或者使用它存在任何风险吗? - george
@george 已经让它能够处理多个点的情况了...我以前也遇到同样的问题。 - jsaji
如何设置标题? - M.R

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接