我正在尝试从我的应用程序打开谷歌地图,设置从手机当前位置到固定位置的路线。我正在使用此代码:
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定位器,我只是想知道是否有办法让谷歌地图“从我当前的位置开始”。
答案 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)
答案 4 :(得分:0)
试试这个:
"https://www.google.com/maps/dir//41.3951982,-72.855568/41.279386,-72.825098"
您可以拥有多个位置,但起始位置将是当前位置。