通过意图在android中的特定位置打开谷歌地图

新手上路,请多包涵

我正在设计一个应用程序,我想在其中显示地图上的特定位置。我正在传递 String 的地址,该地址已经放在 Google Map 上。以下是我的 Intent 代码..

 String url = "http://maps.google.com/maps?daddr="+address;
Intent intent = new Intent(android.content.Intent.ACTION_VIEW,  Uri.parse(url));
startActivity(intent);

但它给了我谷歌地图来获取方向。我知道为什么会这样,因为我在 中使用了 daddr url 但我不知道在特定位置使用什么……请告诉我在那里使用什么……

原文由 Akshay 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 443
2 个回答

我没有对此进行测试,但您可以尝试:

第一种方法:

 String uri = String.format(Locale.ENGLISH, "geo:%f,%f", latitude, longitude);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
context.startActivity(intent);

编辑: 这可能不适用于 Google 地图 7,0

因此您可以将 uri 更改为:

第二种选择:

 String geoUri = "http://maps.google.com/maps?q=loc:" + lat + "," + lng + " (" + mTitle + ")";

其中 mTitle 是位置的名称。

第三个选项:

 geo:0,0?q=my+street+address

第四种选择:

 String map = "http://maps.google.co.in/maps?q=" + yourAddress;

希望有效并有所帮助:D..

原文由 Rat-a-tat-a-tat Ratatouille 发布,翻译遵循 CC BY-SA 3.0 许可协议

我在 Google 文档中找到了这个解决方案,所以它可以正常工作。

 Double latitude = 37.7749,longitude = -122.4192;
            String label = "Your location desired Aryan";
            Uri gmmIntentUri =
                    Uri.parse("geo:0,0?q="+latitude+","+longitude+"("+label+")");
            Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
            mapIntent.setPackage("com.google.android.apps.maps");
            context.startActivity(mapIntent);

如果您有任何疑问,请发表评论。我没有检查地图包,因为在每个 Android 设备上我们都有地图。如果你想你很容易检查它。

原文由 Aryan Bisht 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题