【问题标题】:Open android native google maps app obtaining directions starting from current position打开android原生谷歌地图应用程序获取从当前位置开始的方向
【发布时间】:2013-08-09 22:36:00
【问题描述】:

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

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

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

【问题讨论】:

  • 如果你点击地图的标记,它应该去谷歌导航?或者你想从当前位置绘制路线?
  • 我希望我的应用程序直接使用intent调用地图来显示从当前位置到固定位置的路线,这样用户就不需要自己设置导航了

标签: android google-maps url-parameters


【解决方案1】:

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

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

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

【讨论】:

  • 这非常有用。如果要使用自己位置以外的起始地址,请将 url 修改为"http://maps.google.com/maps?saddr=hamburg&daddr=berlin"。也适用于浏览器(至少在 Chrome 中)。
【解决方案2】:

在上面的帖子中

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

【讨论】:

  • 它仍然将您的位置作为源地址。知道如何使其工作或具体步骤吗?
【解决方案3】:

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

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

【讨论】:

    【解决方案4】:

    请把网址设为这样

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

    但要说清楚一点

    在清单文件中:使用互联网许可

    否则会崩溃

    【讨论】:

      【解决方案5】:

      试试这个:

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

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

      【讨论】:

        猜你喜欢
        • 2017-07-25
        • 2013-03-22
        • 1970-01-01
        • 2021-09-11
        • 1970-01-01
        • 1970-01-01
        • 2017-03-06
        • 1970-01-01
        • 2018-04-29
        相关资源
        最近更新 更多