【发布时间】:2011-11-02 08:51:10
【问题描述】:
我想从我的应用程序中使用提供的位置和标记启动 Google 地图应用程序。标记应指示该给定位置上有东西。
现在,我有以下代码,它以带有提供位置(51.49234、7.43045)的 Google 地图应用的 Intent 开头。
startActivity(
new Intent(
android.content.Intent.ACTION_VIEW,
Uri.parse("geo:51.49234,7.43045")));
Google 地图应用启动时,如下所示:
没有显示标记。我希望谷歌地图应用程序会在该位置上显示一个标记,这是通过 Intent 给出的。是否有任何“隐藏的”意图 URI 可用于在 Google 地图应用程序中显示标记?
提前致谢。
解决方案
@Rajiv M. 向我指出了使用给定位置查询周围环境的想法。
所以,解决方案是:以给定位置为参数查询给定位置的周围环境。 URI 如下所示:
geo:51.49234,7.43045?q=51.49234,7.43045
Google 地图会将查询结果显示为街道名称:
有点小技巧,但它似乎运作良好。
为什么不应该使用 0,0 作为地图位置
geo:0,0?q=51.49234,7.43045
当您使用提供的地图位置点 0,0 启动 Google Maps App 时,Google Maps App 将开始搜索您当前的设备位置。而这需要时间。在某些情况下,当不提供 GPS 信号时,就太多了。在此之前,Google 地图应用程序将开始搜索您的查询 51.49234,7.43045。
【问题讨论】:
-
刚刚使用了 geo:lat,lng?q=lat,lng 技巧,谢谢!
标签: android google-maps android-intent google-maps-markers