打开Android原生谷歌地图应用程序获取从当前位置开始的方向

时间:2013-08-08 09:17:05

标签: android google-maps url-parameters

我正在尝试从我的应用程序打开谷歌地图,设置从手机当前位置到固定位置的路线。我正在使用此代码:

String uri = "https://maps.google.com/maps?saddr=&daddr=example";        
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(i);

问题在于我不知道在saddr中输入什么来引用我当前的位置。我发现了许多其他类似问题,但没有答案可行(例如留下saddr = empty或saddr = Current,它们不起作用)。

我不想使用原生的android定位器,我只是想知道是否有办法让谷歌地图“从我当前的位置开始”。

5 个答案:

答案 0 :(得分:19)

您可以明确地使用f=d参数在方向模式下打开它。使用该设置且没有起始地址,它应该使用设备的当前位置。更像这样:

"https://maps.google.com/maps?f=d&daddr=berlin"

注意:这在浏览器中不起作用;它打开方向页面,其中包含一个空白字段以供开始。用于发送到本机地图应用程序的intent,它可以正常工作(至少在我的4.2.2 gNex上)。

答案 1 :(得分:4)

在上面的帖子

https://maps.google.com/maps?f=d&daddr=berlin

它会询问您的源地址,它不会自动传递您需要在地图上通过录音选择它的源地址,

您可以将GPS用于此目的...获取LatLng坐标后,您可以将它们传递给网址...但它应该在f = a而不是f = d ..

https://maps.google.com/maps?f=a@saddr=LatLng&daddr=badlapur

答案 2 :(得分:2)

我刚刚使用它,它直接打开导航模式中的Google地图,从我当前的位置到文本变量中指定的地址。文本格式应与您在自己的搜索栏中输入的格式相同

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("google.navigation:q="+text));
startActivity(intent);

答案 3 :(得分:0)

请像这样制作网址

https://maps.google.com/maps?f=d&daddr=newdelhi

但要明确一点

在最明显的文件中:使用互联网允许

否则会崩溃

答案 4 :(得分:0)

试试这个:

"https://www.google.com/maps/dir//41.3951982,-72.855568/41.279386,-72.825098"

您可以拥有多个位置,但起始位置将是当前位置。