【问题标题】:Start google map direction intent with mode使用模式启动谷歌地图方向意图
【发布时间】:2019-09-30 06:09:49
【问题描述】:

如何使用源和目的地纬度和经度启动 android 谷歌地图方向意图?
还有自行车、汽车等出行方式……

【问题讨论】:

    标签: android android-intent


    【解决方案1】:

    将导航模式设为dirflg.

    • d 开车。
    • b 自行车。
    • w 步行。
    • l 两轮车。

      val uri = Uri.parse("http://maps.google.com/maps?saddr=33.489954,73.098888 &daddr=33.499009,73.101076 &dirflg=w")
      val intent = Intent(Intent.ACTION_VIEW, uri)
      intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
      startActivity(intent)
      

    【讨论】:

      【解决方案2】:

      通过方向意图,我假设您的意思是 Turn By Turn Navigation 意图。为此,您可以执行以下操作:

      Uri gmmIntentUri = Uri.parse("google.navigation:q=37.7749,-122.4194&mode=b");
      Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
      mapIntent.setPackage("com.google.android.apps.maps");
      startActivity(mapIntent);
      

      这里的主要内容是正在使用的Uri。 uri 末尾的 &mode=b 定义了自行车模式。您还可以将d 用于驾驶模式(这也是默认设置)。 w 是用来走路的。

      您可以使用q=a+street+address 格式,如上所示,也可以使用格式:q=latitude,longitude 的纬度和经度。

      在此处了解更多信息:Google Maps Documentation

      【讨论】:

      • 感谢您的回复。我想提供来源 lat lng 而不是当前位置
      • @MuhammadImtiaz 我已经编辑了答案,请看一下
      • 没有你的答案打开以当前位置为源的谷歌地图,但我想用我给定的源位置和目标位置打开
      • @MuhammadImtiaz,你有没有把"google.navigation:q=37.7749,-122.4194&mode=b" 放在 uri 中,它清楚地写着导航,即 Turn By Turn Navigation。源将是当前设备位置,目标将是 lat long 指示的目标
      • 我认为您的应用程序正在运行。请考虑接受我的答案作为解决方案。 :)
      猜你喜欢
      • 1970-01-01
      • 2018-02-09
      • 1970-01-01
      • 2011-08-10
      • 2013-08-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多