17

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

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

问题是我不知道在 saddr= 中添加什么来引用我当前的位置。我发现了许多其他类似的问题,但没有任何答案(例如让saddr=空或saddr=Current,它们不起作用)。

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

4

5 回答 5

19

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

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

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

于 2013-08-29T19:07:54.460 回答
4

在上面的帖子中

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

它会要求您提供源地址,它不会自动传递您需要通过点击在地图上选择它的源地址,

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

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

于 2013-09-03T06:22:59.540 回答
2

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

Intent intent = new Intent(android.content.Intent.ACTION_VIEW,Uri.parse("google.navigation:q="+text));
startActivity(intent);
于 2014-02-18T01:11:56.190 回答
0

请制作这样的网址

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

但还要澄清一件事

在清单文件中:使用 INTERNET PERMISSION

否则会崩溃

于 2013-09-03T11:11:17.757 回答
0

试试这个:

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

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

于 2015-11-04T20:56:42.323 回答