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

打开android原生谷歌地图应用程序,从当前位置获取方向,android,google-maps,url-parameters,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=中输入什么来引用我当前的职位。我还发现了许多类似的问题,但没有找到

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

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,它们不起作用)


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

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

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

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

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

你可以使用GPS来达到这个目的。。。获得LatLng坐标后,您可以将其传递到url…但它应该是f=a而不是f=d


请这样创建url

但还有一件事要说清楚

在manifiest文件中:使用INTERNET权限


否则它将崩溃

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

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

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

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

若您单击地图的标记,它应该转到谷歌导航?或者您想从当前位置绘制路线?我想让我的应用程序直接使用intent调用地图来设置,以显示从当前位置到固定位置的路线,这样用户就不需要自己设置导航。这非常有用。如果要使用自己位置以外的起始地址,请将url修改为
“http://maps.google.com/maps?saddr=hamburg&daddr=berlin“
。也可以在浏览器中使用(至少在Chrome中是这样)。它仍然将您的位置作为源地址。你知道如何让它工作或具体步骤吗?