【发布时间】:2019-09-30 06:09:49
【问题描述】:
如何使用源和目的地纬度和经度启动 android 谷歌地图方向意图?
还有自行车、汽车等出行方式……
【问题讨论】:
如何使用源和目的地纬度和经度启动 android 谷歌地图方向意图?
还有自行车、汽车等出行方式……
【问题讨论】:
将导航模式设为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)
【讨论】:
通过方向意图,我假设您的意思是 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
【讨论】:
"google.navigation:q=37.7749,-122.4194&mode=b" 放在 uri 中,它清楚地写着导航,即 Turn By Turn Navigation。源将是当前设备位置,目标将是 lat long 指示的目标