通过intent-Android打开地图以显示当前位置的方向
Posted
技术标签:
【中文标题】通过intent-Android打开地图以显示当前位置的方向【英文标题】:Open map to show direction from current location through intent-Android 【发布时间】:2019-02-17 23:53:51 【问题描述】:我的 android 应用中有很多经纬度。我想知道如何通过意图打开选择器或谷歌地图应用程序并显示从当前位置到该纬度和经度的方向。就像我有 lat=28.605989,lon=77.372970 而我当前的位置在某个地方所以当我点击按钮时我的应用程序这些 lat lon 通过意图,并将显示从我当前位置到这些 lat lon 的方向。谢谢。
【问题讨论】:
【参考方案1】:要将用户导航到目的地,我们可以使用这样的东西
Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("http://maps.google.com/maps?daddr=28.605989,77.372970"));
startActivity(intent);
这里。我们只传递目的地 lat long daddr=28.605989,77.372970
,因此默认情况下,您当前的位置将是源位置。
使用您的网址添加额外信息。
String my_data= String.format(Locale.ENGLISH, "http://maps.google.com/maps?daddr=20.5666,45.345(My Destination Place)");
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(my_data));
intent.setPackage("com.google.android.apps.maps");
startActivity(intent);
【讨论】:
@GouravManuja 确定。确保您已在手机中安装了谷歌地图。否则你必须处理ActivityNotFound
Exception
先生,我正在尝试您的代码,但我的工作室说没有响应,这就是为什么它需要这么长时间,但我想知道一件事......我可以通过谷歌地图上的意图传递信息窗口吗???
我想显示一些有关位置的信息,但我通过意图使用谷歌地图,所以我想知道我可以在谷歌地图上显示我的信息吗???
@GouravManuja 。有关信息即时更新我的答案
先生,您很棒,已完成当前位置到终点,但假设我有一名医生的纬度,我想显示医生的姓名、医生的编号和与他会面的时间.. .so 解释一下我怎么显示???【参考方案2】:
您可以通过以下代码向 Google Map android 应用程序发送 Intent:
Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse("http://maps.google.com/maps?saddr=22.458,34.34&daddr=75.124,35.448"));
startActivity(intent);
在上面的 URI 中,saddr
代表源地址,即您当前的位置,daddr
代表目标位置的坐标。
【讨论】:
我想你在这里定义了你的当前位置,但我没有当前位置,我只有端点,所以我应该为当前位置做什么 bcz 我可以在任何地方,所以这不是我想要的解决方案我当前的位置到我的终点,显示方向 最终,根据android文档没有提供这样的意图URI。您需要在重定向到谷歌地图之前获取当前坐标。 你的意思是我应该找出当前位置并通过 saddr 和端点通过 daddr ?通过地图中的意图我找不到我当前的位置? 你可以试试光辉提交的答案。如果它不起作用,那么您需要先检索当前位置。尝试仅传递目标坐标。 先生,我正在尝试您的代码,但我的工作室说没有响应,这就是为什么它需要这么长时间,但我想知道一件事......我可以通过谷歌地图上的意图传递信息窗口吗?就像我想显示一些关于位置的信息,但我通过意图使用谷歌地图,所以我想知道我可以在谷歌地图上显示我的信息吗???以上是关于通过intent-Android打开地图以显示当前位置的方向的主要内容,如果未能解决你的问题,请参考以下文章
html JS.Geolocate.how以当前位置为中心显示交互式Google地图